liquid_feedback_frontend
annotate bin/liquid-admin.lua @ 154:6b6c82f9ca9f
speedup member image loading when non set
we can add the location of the default file directy instead of going through another slow request
we can add the location of the default file directy instead of going through another slow request
author | Daniel Poelzleithner <poelzi@poelzi.org> |
---|---|
date | Fri Oct 08 15:25:10 2010 +0200 (2010-10-08) |
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 |