Now fixed (temporarily - there may be a better fix) in bc1f24f.
Thanks. I can reproduce the problem and am working on a fix.
Could you post the relevant extract from the document here please, so I don't have to open an unknown docx file?
Try function print_report_link(User $user) { echo '<a href="https://mydomain.com/account">Your text</a>'; }
The shell will look something like this: $(document).on('page_ready', function() { $('form#main #rooms').on('change', function() { // Get the rooms that have been selected // If one of the rooms is one you care about then add the checkbox and text // and disable the Submit button until the checkbox is checked. }).trigger('change'); }); You'll need to fill in the gaps yourself with some jQuery.
Thanks. Now fixed in 2e4fcb8.
new version?
MRBS 1.11.1 has just been released.
You can set a number of policies on the area administration page. Login to MRBS as an admin, go to the Rooms page, select the area in question and then scroll down to the policies section. You can set limits on the maximum duration of any single booking, the maximum number of bookings and the total dutation of bookings. You can't set limits on the number of meeting rooms used, but you can prevent someone booking more than one room at the same time by setting in config.inc.php: $prevent_simultaneous_bookings...
You can't. But you can prevent bookings being made for past dates. Login to MRBS as an admin, go to the Rooms page, select the area in question and under "Booking policies - creation" set "Advance booking - minimum" to zero. Then click Save.
If you are running MRBS 1.11.0 then you need to modify the function getWritable() in mrbs_auth.inc.
I've committed a fix for this in dae1dfb. Not the best fix, but it should be OK for the moment.
Yes, it can be done. The simplest way to do it is to add some custom JavaScript in a custom .js file (see systemdefaults.inc.php) and then arrange for the text and checkbox to be added when those two rooms are selected and for the Save button to be disabled until the checkbox is checked.
I'm not sure when the next version will be released, but if you are making changes then I recommend you download the latest development code from here by following the green Code button.
You need to download the code from https://sourceforge.net/projects/mrbs/ by following the green Download button and then follow the instructions in the INSTALL document. You should be able to transfer your bookings from the old server to the new by exporting then in .ics format from the Report page on the old server and then importing them to the new server from the Import page.
You don't need to worry about that. It's just for information and perfectly normal.
I am afraid that is not possible. If it were you would be able to delete an existing booking simply by editing it and changing the date.
Login to MRBS as an admin, go to the Rooms page, select the area in question and under Booking policies -> Booking deletion set "Advance booking - minimum" to zero.
It looks like someone has already made some changes to the code. You will need to get them to alter it.
The room name and end time columns do not appear in the search results in standard MRBS. Did you make some changes to the code?
You are correct, there is currently no way to add users to a group. The branch is still under development and this feature has yet to be added. The branch was originally developed for use with the LDAP authentication scheme where groups and users are defined on the LDAP server. I will try and implement this feature in the next few weeks.
I am surprised by that: you shouldn't need to have to recreate the database. You should just need to alter the column structure. Anyway, I'm glad it's working now.
You'd have to generate your own SQL query to do this.
Could you try restarting PHP and see if that makes a difference?
Sorry, I am very busy for the next week or two. However you can post screen shots of any other errors you are seeing. But in order to solve any problem you will need access to the server. The PHP error log will be on the server and to make any changes you will need access to the server. Do you have any access at all, for example an FTP connection or access to the database, eg through phpMyAdmin?
You need to contact the person that manages the server. I suspect they made some change to the server just before this problem started happening. The first thing to check is whether there are any errors in the PHP error log.
As I understand it 10.16.13 introduced more severe error reporting when GET_LOCK was used and this was reverted in 10.16.14. However the use of GET_LOCK is still unsupported.
You are seeing two different errors, which are not related. The error "Warning: Server failed to set locale to 'es'" is probably caused by the fact that you do not have the 'es' locale installed on your server. The "Unknown user" error is because the username and password do not match what is in the database. Has something changed on your server recently?
Could you run the attached test program please and post the output here? It should look something like: en-US.UTF-8: bool(false) en-US.utf-8: bool(false) en-US.utf8: bool(false) en-US: bool(false) en_US.UTF-8: string(11) "en_US.UTF-8" en_US.utf-8: string(11) "en_US.utf-8" en_US.utf8: string(10) "en_US.utf8" en_US: string(5) "en_US"
Is that appearing in some release notes somewhere? The known limitations page is still saying that GET_LOCK is not supported. I've managed to remove all the instances but one of the use of GET_LOCK by MRBS. The last one, in the custom DB session handler, is proving more difficult to remove safely, but I'm still puzzling slowly over it.
What happens in standard MRBS is that all authenticated users are assigned level 1 and admins are assigned level 2. You'd need to modify MRBS to achieve what you want to do. If you set $auth['session'] = "remote_user"; $auth['type'] = 'custom'; and then add the attached file to lib/MRBS/Auth then it may do what you are looking for (though I haven't tested it). Users that can book are defined in the config file setting $auth['user']. However it may not be exactly what you want as both authenticated...
MRBS does not support authentication against a Shibboleth system: it needs some code enhancements. There was a patch provided at https://sourceforge.net/p/mrbs/patches/52/ but I don't know whether it still works.
But that screenshot is from the browser and not related to this error. What is the authentication type that you are using.
What code are you using for Shibboleth authentication? And I take it that #2783 was a typo, as that ticket number hasn't been reached yet.
Is this for the correct ticket? I thought that the problem was "No tiene autorización para modificar este dato"?
What does locale -a give now?
In your config file. It will be the setting for $auth['type'] (or $auth["type"]).
MRBS works with the latest version of PHP. When upgrading PHP I think you should be able to keep the same php.ini file, at least between minor versions.
Hi Cambell, Thanks for the response. That worked thanks. Sorry I missed that, I was looking for it. My excuse is that I am off sick with Covid and wasn't that focused. My network security team keeps flagging the PHP vulnerabilities, is there a version of this software that wont suffer like this? Regards, ROBERTO DE CAPRIO
That should work. Have you refreshed the form page? If you are still having problems, are you sure you have changed the correct column in the correct table?
You need to install the en-US locale on your server.
Try uncommenting line 955: extension=pdo_mysql
Hi Camell, Attached is the PHP v8.2.6 file as requested. Regards, ROBERTO DE CAPRIO
Good. It looks like the database problem is now fixed. I have committed the change in 6bf8f15. The locale message is appearing because it looks like you don't have the 'en-US' locale installed on your server. Can you run locale -a on your server to see what locales are installed and post it here? I have now fixed the uncaught exception in 8035319.
I am not finished yet with fishing my errors, but i got 2 errors first in the funvtion_mail.inc: Incorrect use of <label for=FORM_ELEMENT> <label for="gesamtsumme" style="width: 198.94px;">Gesamtpreis in €</label> and <label for="rep_end_date" style="width: 198.94px;">Serienende</label> Do you have any idea?
That normally means that you don't have a form control, eg <input> with an id corresponding to the for attribute. Where are you seeing those error messages? If it's in your email then it's probably because <label> is the wrong kind of element to use there: it should only be used with a form control.
I am not finished yet with fishing my errors, but i got 2 errors first in the funvtion_mail.inc: Incorrect use of <label for=FORM_ELEMENT> <label for="gesamtsumme" style="width: 198.94px;">Gesamtpreis in €</label> and <label for="rep_end_date" style="width: 198.94px;">Serienende</label> Do you have any idea?
What authentication type are you using (eg 'config', 'db', 'ldap', etc)?
Thanks. Could you try replacing your version of lib/MRBS/DB_mysql.php with the attached file and see if it solves the problem?
We've moved the repository to GitHub. The roles branch is now here. Follow the green Code button.
Can you post your php.ini file?
Hi Cambell, Hope you are well? And sorry to keep pestering you. I am having similar issue when I try and upgrade to PHP V8.2.6, except this time there is no mention of ";extension=pdo_mysql" in the php.ini file. The file itself seems structured differently too? Regards, Robert De Caprio, Network Support Officer
Thanks. Could you run the attached, enhanced, diagnostic program in the MRBS folder again please and post the output?
Thanks. I was expecting two lines of output. Can you post a screenshot please?
You'll need to start debugging it using tools such as var_dump() to find out why it's not giving you anything.
You'll need to start debugging it using tools such as var_dump() to find out why it's not giving you anything.
Ah, OK, you are using the latest development code rather than 1.11.0. That's fine. What is the error you are getting now?
i download the file mrbs_main_code from github. This is on line 931: if ($mail_settings['html']) { $html_body['content'] = create_body($data, $mail_previous, $compare, $series, $action, $start_times, true, $note); $html_body['cid'] = generate_global_uid("html"); } After using the file from Github, making an entry is working without error and emails are coming also. But integrating my calculation function is throwing errors at me Anyways, it seems to me, that my modified "calc functions" didnt work...
Actually you don't need to change your system. You just need to remove those changes from your config file, as those changes are meaningless with LDAP as there is no user editing anyway.
Ah yes, you are correct. I have now fixed this in the latest development code in 1ba4156. You can patch your system by applying the same changes to your lib/MRBS/Auth/AuthLdap.php file.
In multisite mode each site has its own local config file in sites/sitename/config.inc.php and you can set $auth['only_admin_can_book_repeat'] there to override the global setting.
Could you run the attached test program please in your MRBS folder (ie at the same level as config.inc.php) and post the output here? It should be something like: MySQL Community Server - GPL 8.0.28 but obviously changed for Ubuntu.
I don't think you can have reinstalled all the vanilla files. Line 931 of functions_mail.inc in MRBS 1.11.0 is $compare = !$new_entry;
I don't think you van have reinstalled all the vanilla files. Line 931 of functions_mail.inc in MRBS 1.11.0 is $compare = !$new_entry;
Have you set the following? // The DN of the LDAP group that MRBS admins must be in. If this is defined // then the $auth["admin"] is not used. // This can be an array. $ldap_admin_group_dn = 'cn=admins,ou=whoever,dc=example,dc=com'; // The LDAP attribute that holds group membership details. Used with // $ldap_admin_group_dn, above. // This can be an array. $ldap_group_member_attrib = 'memberof';
Not without changing the code.
Download the complete set of files by following the green "Code" button and then treat it like a new release. Follow the instructions in the UPGRADE document.
view_entry approve_buttons
Try $vocab_override["en"]["unavailable"] = "Occupied";
Thanks. Now fixed in 72a2a2d.
Yes, that should work, though of course if you change the "times along the top" mode you'll need to change the CSS. But when you are in "times along the top" mode the main table has a class "times-along-top" so you can use that to refine your CSS.
Thanks for studying my request. I do not want to prevent users from booking multiple rooms. I found a CSS solution, but it may habe unexpected drawbacks. I put this code in the css/custom.css : .ui-resizable .ui-resizable-handle.ui-resizable-s, .ui-resizable .ui-resizable-handle.ui-resizable-n, .ui-resizable .ui-resizable-handle.ui-resizable-se, .ui-resizable .ui-resizable-handle.ui-resizable-ne, .ui-resizable .ui-resizable-handle.ui-resizable-sw, .ui-resizable .ui-resizable-handle.ui-resizable-nw...
In your config file set $vocab_override["en"]["private"] = "Occupied"; If you are using another language change "en" as appropriate.
This is a known bug and already fixed in the latest development code which you can find here. Follow the green Code button and treat it like an upgrade.
If you don't want users to be able to book multiple rooms then you can do this without changing the MRBS code with the following config setting: $auth['only_admin_can_select_multiroom'] = true; That will stop ordinary users being able to drag across rooms. But it will also stop them from booking multiple rooms on the edit_entry.php booking form, so may not be suitable for you. Otherwise you'd have to change the MRBS code, though the change is probably fairly simple and I could maybe make it a configuration...
Disable (or limit) the draggable bookings
You can do that using the $ldap_base_dn, $ldap_filter and $ldap_admin_group_dn config settings. See systemdefaults.inc.php for more details.
Are you not able to specify admins using an LDAP group? If not, then would you be able to use the config file to specify admins? If not, then you'd need to modify MRBS.
Yes, you'll need a custom CSS file (see systemdefaults.inc.php for more details) and you might want a rule such as body[data-kiosk] { font-size: x-large; }
Copy your database tables from the old server to the new server, eg by using phpMyAdmin's Export and Import operations. Copy your web folder from the old server to the new server and edit your config file to take account of the new server's database details.
session()->getCurrentUser() doesn't take a parameter: it just returns the User object for the current user. Both session()->getCurrentUser() and auth()->getUser($username) return objects rather than arrays, so you'll need to access the email address as a property rather than array. For example $user = auth()->getUser($username); $email = $user->email;
I've tried a few things, but somehow I still can't find the solution, which is probably quite simple. the most promising approach is to read out the details as described by you with auth()->getUser($username) or session()->getCurrentUser ($username). I would now like to fill the newly created custom field email_ldap with the content [email] from the array user in the file edit_entry.php and enter it directly in a booking. However, I do not get the transfer, can you please give me here again a hint?...
Many thanks. I'll look at them next week hopefully.
Check your php.ini settings of the garbage collection probability and divisor. See https://www.php.net/manual/en/session.configuration.php By the way, which version of MRBS are you running? MRBS has used a database session handler for some time now.
Locale works only in the pages php
See https://sourceforge.net/p/mrbs/support-requests/2758/
Move booking to another room when checkbox is active
See the instructions on "ADDING EXTRA COLUMNS TO THE DATABASE TABLES" in the INSTALL document.
Thanks. Looking at the Galera documentation I don't think the problem goes away with MariaDB 10.11 and the latest MRBS code still uses GET_LOCK. The change you have made is probably the best you can do for the moment. The most likely problem is with database sessions. I'll have a think about a proper fix.
This works as custom JavaScript $(document).on('page_ready', function() { $('body:not(.logged_in) .dwm_main td a').css('cursor', 'default').on('click mousedown', function(e) { e.preventDefault(); return false; }); });
This works as custom JavaScript $(document).on('page_ready', function() { $('body:not(.logged_in) .dwm_main td a').css('cursor', 'default').on('click mousedown', function(e) { e.preventDefault(); return false; }); });
Ty sir. And I was almost there. Another year or two and I would have had it!
This works as custom JavaScript $(document).on('page_ready', function() { $('body:not(.logged_in) .dwm_main td a').css('cursor', 'default').on('click mousedown', function(e) { e.preventDefault(); return false; }); });
Something like $('.logged_in .dwm_main td a).on('click', function(e) { e.preventDefault(); return false; } and then also add some custom CSS to change the cursor.
Well the easiest thing to do is to write some JavaScript/jQuery to disable the links in the body of the table when the user is not logged in. You can put this in a custom JavaScript file.
Ty Campbell. Just figure out have to do it. Lol
There are two possibilities. The first is to use "kiosk mode". This probably isn't what you are looking for, but I mention it just in case. This enables you to put a particular device, eg a tablet outside a meeting room, into a mode where it will just display the meetings for that day and room (or area). The second would be to modify the MRBS code so that links aren't active unless you are logged in.
If you want custom fields in the room table to be visible when booking a room you'll ned to modify the MRBS code. Or did you mean to create custom fields in the entry and repeat tables?
The mrbs_user table is empty when you are using LDAP because all the user data is stored on the LDAP server. However, given a username you can get the user's details by calling auth()->getUser($username). This will return a User object with an email property.
We have set the status for the room to provisional. When the admin confirms the booking, the status should be automatically set from provisional to booked. The confirmation status and approval status are two independent settings. It is possible to have a booking that is approved that is still tentative. For example the administrator may approve a booking but the meeting might not yet happen for some reason. Is it possible to have different mail notifications when request for approval and New booking...