Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mumble-voip/mumble.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJamie Fraser <jamie.f@sabrienix.com>2010-02-03 02:24:23 +0300
committerStefan Hacker <dd0t@users.sourceforge.net>2010-02-03 02:48:56 +0300
commita9e9922a69022d99edf70d5914d9d5f6f58a49f9 (patch)
tree2ed87465272317c0ea79979f5750db9486801e32 /scripts
parent1afffff63f4a10cf00e6d66e144a01a9052ec997 (diff)
Added a crappy example of an auto idle-move written in PHP.
Diffstat (limited to 'scripts')
-rw-r--r--scripts/idle.php73
1 files changed, 73 insertions, 0 deletions
diff --git a/scripts/idle.php b/scripts/idle.php
new file mode 100644
index 000000000..4a28fa5b5
--- /dev/null
+++ b/scripts/idle.php
@@ -0,0 +1,73 @@
+<?
+# idle.php - Sample "auto-idle mover" script. Run in a cron job.
+# Copyright (c) 2010, Jamie Fraser / MumbleDog/Sabrienix
+#
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# * Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# * Redistributions in binary form must reproduce the above
+# copyright notice, this list of conditions and the following
+# disclaimer in the documentation and/or other materials provided
+# with the distribution.
+# * Neither the name of MumbleDog/Sabrienix nor the names of its
+# contributors may be used to endorse or promote products derived
+# from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#
+######################################################################
+#
+# NOTE WELL: This is just an example. It has no error checking, left
+# out both because of my own laziness and to keep the example simple.
+# Steal the implementation and put it in your own script, or just use
+# as-is under the full understanding it might end the world as you
+# know it.
+
+# "AFK" channel ID
+$afk = 4;
+
+# Time in seconds user must be AFK to be moved
+$idle = 5000;
+
+# Ice Server
+$ice = 'Meta:tcp -h 127.0.0.1 -p 6502';
+
+# Murmur ID #
+$mid = 0;
+
+######################################################################
+Ice_loadProfile();
+$base = $ICE->stringToProxy($ice);
+$murmur = $base->ice_checkedCast('::Murmur::Meta');
+
+$m = $murmur->getServer($mid);
+
+$users = $m->getUsers();
+
+foreach ($users as $u) {
+ printf("%s: %s\n", $u->name, $u->idlesecs);
+ if ($u->idlesecs > $idle && $u->channel != $afk) {
+ $state = $m->getState($u->session);
+ if ($state) {
+ $state->channel = $afk;
+ $m->setState($state);
+ }
+ }
+}
+?> \ No newline at end of file