\n"; echo " Add the user or update user information.\n"; echo " --delete \n"; echo " Remove the user.\n"; echo "\n"; } /** * Ensures that the user is running this PHP script with root * permissions. If not running with root permissions, causes the * script to exit. */ function exitIfNotRoot() { // Need to check that we are superuser before running this. if(exec("whoami") != "root"){ echo "Must be root user.\n"; exit(1); } } if (count($argv) != 3) { printUsage(); exit; } $action = null; switch ($argv[1]) { case '--addupdate': $action = "addupdate"; break; case '--delete': $action = "delete"; break; } $username = $argv[2]; if (is_null($action)) { printUsage(); exit; } PEAR::setErrorHandling(PEAR_ERROR_RETURN); $CC_DBC = DB::connect($CC_CONFIG['dsn'], TRUE); if (PEAR::isError($CC_DBC)) { die($CC_DBC->getMessage()); } $CC_DBC->setFetchMode(DB_FETCHMODE_ASSOC); // Check if the user exists $id = User::GetUserID($username); if ($action == "addupdate") { if ($id < 0) { echo "Creating user\n"; $user = new User(""); $user->setLogin($username); } else { echo "Updating user\n"; $user = new User($id); } do{ echo "Enter password (min 6 characters): "; $line = trim(fgets(fopen("php://stdin","r"))); }while(strlen($line) < 6); $user->setPassword($line); do{ echo "Enter first name: "; $line = trim(fgets(fopen("php://stdin","r"))); }while(strlen($line) < 1); $user->setFirstName($line); do{ echo "Enter last name: "; $line = trim(fgets(fopen("php://stdin","r"))); }while(strlen($line) < 1); $user->setLastName($line); do{ echo "Enter user type [(A)dmin|(P)rogram Manager|(D)J|(G)uest]: "; $line = trim(fgets(fopen("php://stdin","r"))); } while($line != "A" && $line != "P" && $line != "D" && $line != "G"); $types = array("A"=>"A", "P"=>"P", "D"=>"H", "G"=>"G",); $user->setType($types[$line]); $user->save(); } elseif ($action == "delete") { if ($id < 0){ echo "Username not found!\n"; exit; } else { echo "Deleting user\n"; $user = new User($id); $user->delete(); } } function GetAirtimeConf() { $ini = parse_ini_file("/etc/airtime/airtime.conf", true); if ($ini === false){ echo "Error reading /etc/airtime/airtime.conf.".PHP_EOL; exit; } return $ini; }