liquid_feedback_frontend
annotate bin/liquid-admin.lua @ 145:90520c9fca44
implement area filter in timeline
allows the user to ignore any area in the timeline filter.
better display in javascript off
allows the user to ignore any area in the timeline filter.
better display in javascript off
author | Daniel Poelzleithner <poelzi@poelzi.org> |
---|---|
date | Thu Oct 07 00:35:48 2010 +0200 (2010-10-07) |
parents | eeb167cf9dc4 |
children |
rev | line source |
---|---|
poelzi@107 | 1 #!/usr/bin/env lua |
poelzi@107 | 2 |
poelzi@107 | 3 OptionParser = require("utils.optparse") |
poelzi@107 | 4 |
poelzi@107 | 5 COMMANDS = {{"setpwd <username> <password>", "Set a user command"}, |
poelzi@107 | 6 {"listuser", "List usernames"}, |
poelzi@107 | 7 } |
poelzi@107 | 8 |
poelzi@107 | 9 t={usage="<some usage message>", version="<version string>", commands=COMMANDS} |
poelzi@107 | 10 op=OptionParser(t) |
poelzi@107 | 11 --op.add_option({"-t", action="safe_true", dest="test", help="<help message for this option>"}) |
poelzi@107 | 12 op.add_option({"-c", action="store", dest="config", help="config name to use", default="default"}) |
poelzi@107 | 13 op.add_option({"-w", action="store", dest="webmcp", help="path to webmcp", default="../webmcp"}) |
poelzi@107 | 14 |
poelzi@107 | 15 options,args = op.parse_args() |
poelzi@107 | 16 |
poelzi@107 | 17 if #args == 0 then |
poelzi@107 | 18 print("Error: command is required\n") |
poelzi@107 | 19 op.print_help() |
poelzi@107 | 20 return |
poelzi@107 | 21 end |
poelzi@107 | 22 |
poelzi@107 | 23 -- dirty dirty dirty, dirty dirty, dirty dirty dow monkey patch env |
poelzi@107 | 24 if not os.setenv then |
poelzi@107 | 25 |
poelzi@107 | 26 local env, getenv = { }, os.getenv |
poelzi@107 | 27 |
poelzi@107 | 28 function os.setenv(k,v) |
poelzi@107 | 29 env[k] = v |
poelzi@107 | 30 end |
poelzi@107 | 31 |
poelzi@107 | 32 function os.getenv(k) |
poelzi@107 | 33 return env[k] or getenv(k) |
poelzi@107 | 34 end |
poelzi@107 | 35 |
poelzi@107 | 36 end |
poelzi@107 | 37 |
poelzi@107 | 38 -- detect current path FIXME: platform portable |
poelzi@107 | 39 local PWD = io.popen("pwd"):read() |
poelzi@107 | 40 os.setenv("WEBMCP_APP_BASEPATH", PWD) |
poelzi@107 | 41 os.setenv("WEBMCP_CONFIG_NAME", options.config) |
poelzi@107 | 42 os.setenv("WEBMCP_INTERACTIVE", "yes") |
poelzi@107 | 43 |
poelzi@107 | 44 -- load webmcp framework |
poelzi@107 | 45 WEBMCP_PATH = options.webmcp .. "/framework/" |
poelzi@107 | 46 dofile(options.webmcp .. "/framework/cgi-bin/webmcp.lua") |
poelzi@107 | 47 |
poelzi@107 | 48 function error(why) |
poelzi@107 | 49 print(why) |
poelzi@107 | 50 os.exit(2) |
poelzi@107 | 51 end |
poelzi@107 | 52 |
poelzi@107 | 53 if args[1] == "setpwd" then |
poelzi@107 | 54 if #args < 2 then |
poelzi@107 | 55 error("login is required") |
poelzi@107 | 56 end |
poelzi@107 | 57 require("model.member") |
poelzi@107 | 58 user = Member:by_login(args[2]) |
poelzi@107 | 59 if not user then |
poelzi@107 | 60 error("User "..args[2].." not found") |
poelzi@107 | 61 end |
poelzi@107 | 62 print("Enter password:") |
poelzi@107 | 63 password = io.read() |
poelzi@107 | 64 if password then |
poelzi@107 | 65 user:set_password(password) |
poelzi@107 | 66 user:save() |
poelzi@107 | 67 end |
poelzi@107 | 68 end |
poelzi@107 | 69 |
poelzi@107 | 70 if args[1] == "listusers" then |
poelzi@107 | 71 require("model.member") |
poelzi@107 | 72 sel = Member:new_selector() |
poelzi@107 | 73 users = sel:exec() |
poelzi@107 | 74 --sel:optional_object_mode() |
poelzi@107 | 75 print("Login Active") |
poelzi@107 | 76 for i,v in pairs(users) do |
poelzi@107 | 77 if v.login then |
poelzi@107 | 78 print(v.login .. string.rep(" ", 25-#v.login), v.active) |
poelzi@107 | 79 end |
poelzi@107 | 80 end |
poelzi@107 | 81 end |
poelzi@107 | 82 |
poelzi@107 | 83 |
poelzi@107 | 84 |
poelzi@107 | 85 |
poelzi@107 | 86 |