summaryrefslogtreecommitdiffstats
path: root/doc/locationinfo
diff options
context:
space:
mode:
Diffstat (limited to 'doc/locationinfo')
-rw-r--r--doc/locationinfo114
1 files changed, 114 insertions, 0 deletions
diff --git a/doc/locationinfo b/doc/locationinfo
new file mode 100644
index 00000000..e8f4ea50
--- /dev/null
+++ b/doc/locationinfo
@@ -0,0 +1,114 @@
+########## API ##########
+
+/slx-admin/api.php?do=locationinfo
+
+&action=roominfo
+&id= (1 or 1,2,3…)
+[optional] &coords= (true/false)
+Returns an array with the information of the room(s). (JSON) pcState => (IDLE, OCCUPIED, OFF, BROKEN))
+e.g.:
+[{"id":"11","computer":[{"id":"6BF41E7F-C663-E211-9BAC-C5625F50F9E8","pcState":"OFF"}]}]
+
+&action=openingtime
+&id= (1 or 1,2,3...)
+Return an array with the openingtime of the room(s). (JSON)
+e.g.:
+[{"id":"11","openingtime":{"Monday":[{"HourOpen":"7","MinutesOpen":"00","HourClose":"20","MinutesClose":"00"}],"Tuesday":[{"HourOpen":"7","MinutesOpen":"00","HourClose":"20","MinutesClose":"00"}],"Wednesday":[{"HourOpen":"7","MinutesOpen":"00","HourClose":"20","MinutesClose":"00"}],"Thursday":[{"HourOpen":"7","MinutesOpen":"00","HourClose":"20","MinutesClose":"00"}],"Friday":[{"HourOpen":"7","MinutesOpen":"00","HourClose":"20","MinutesClose":"00"}],"Saturday":[{"HourOpen":"9","MinutesOpen":"00","HourClose":"13","MinutesClose":"00"}]}}]
+
+&action=roomtree
+&id= (1 or 1,2,3...)
+Returns the roomtree. (JSON)
+e.g.:
+[{"id":"8","name":"4er-Netz","childs":[{"id":"1","name":"4er-Netz(1-10)","childs":[{"id":"5","name":"bwLehrstuhl 4.4","childs":[]}]},{"id":"11","name":"Raum -113","childs":[]}]}]
+
+&action=config
+&id= (1)
+Return the config of a room. (JSON)
+e.g.:
+{"language":"en","mode":1,"vertical":false,"eco":false,"scaledaysauto":false,"daystoshow":7,"rotation":0,"scale":50,"switchtime":20,"calupdate":30,"roomupdate":30,"configupdate":180,"room":"Raum -113","time":"2017-3-27 2:36:40"}
+
+&action=pcstates
+&id= (1 or 1,2,3...)
+Returns an array of the state stats of the room(s). (JSON)
+e.g.:
+[{"id":"11","idle":0,"occupied":0,"off":1,"broken":0}]
+
+&action=calendar
+&id= (1 or 1,2,3...)
+Returns an array with the calendar of the room(s). (JSON)
+e.g.:
+[{"id":7,"calendar":[{"title":"test exam","start":"2017-3-08 13:00:00","end":"2017-3-08 16:00:00"}]}]
+
+##############################
+########## Frontend ##########
+##############################
+
+Doorsign
+========
+
+1.Usage
+=======
+parameter
+
+required:
+ id: [integer] room id, see in admin panel. For e.g.: id=5 or multiple, up to 4 e.g.: id=5,6,7,8
+
+optional:
+
+ lang:[en,de] set the language
+ mode:[1,2,3,4] sets the displaying
+ 1: Calendar & Room
+ 2: only Calendar
+ 3: only Room
+ 4: Calendar & Room alternately
+ daystoshow:[1,2,3,4,5,6,7] sets how many days the calendar shows
+ scale:[10-90] scales the calendar and Roomplan in mode 1
+ switchtime:[1-120] sets the time between switchen in mode 4 (in seconds)
+ calupdate: Time the calender querys for updates,in minutes.
+ roomupdate: Time the PCs in the room gets updated,in seconds.
+ rotation:[0-3] rotation of the roomplan
+ vertical:[true] only mode 1, sets the calendar above the roomplan
+ configupdate: Time interval the config gets updated (in minutes)
+ scaledaysauto: [true] if true it finds automatically the daystoshow parameter depending on display size
+
+
+All the optional parameters will overwrite the config settings in the admin panel. If more then one room is shown,then it will
+overwrite it for all rooms.
+
+2. Add an overlay
+=================
+First you need an Image(svg,png,jpg), add it to ./locationinfo/frontend/img/overlay.
+You can add your own css class if you want. To do so create an css calss named .overlay-YOUR_IMAGE_NAME in the doorsign.html.
+You can find an example in the doorsign.html called ".overlay-rollstuhl".
+The backend functionaltiy is right now not implemented since it relays on the roominfo module.
+But you can add it manually.
+You need to add the image name (without ending) in the machine database on the position column with the key overlays in an array.
+
+For example (the name of the images could be overlay1.jpg, overlay1.svg):
+
+{"gridRow":"41","gridCol":"48","itemlook":"pc-south", "overlays":["overlay1","overlay2"]}
+
+
+3.Tipps & Tricks
+==================
+
+-if you show 2-3 rooms in mode 1, it's useful to use vertical mode.
+-if calendar items don't fit, show less days or if in mode 1 give the calendar more space(calendar width);
+-it is possible to use different modes if you show more then one room
+
+4.CourseBackend
+===============
+fetchSchedule returns an array containing an array as value and the local room ID as key.
+The contained array contains arrays that have this form ["start"=>'JJJJ-MM-DD HH:MM:SS',"end"=>'JJJJ-MM-DD HH:MM:SS',"title"=>string].
+getError returns the last errormessage.
+checkConection uses a hardcoded room for test purposes.
+If you want to write a new Class you can look at the Dummy Class to learn the structure.
+You also should write the language files for your options into the lang directory.
+
+Panel
+=====
+
+parameter
+
+required:
+ id: [integer] room id, see in admin panel. For e.g.: id=5 or multiple, up to 4 e.g.: id=5,6,7,8