Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- class User
- {
- public function __construct()
- {
- }
- public function getInput($label, $default = null, $allow_empty = false)
- {
- $this->write($label);
- if($default) $this->write(" ($default)");
- $this->write(": ");
- $line = rtrim(fgets(STDIN), "\n");
- if($line == '' && $default != null) $line = $default;
- if($line == '' && $allow_empty == false) return $this->getInput($label, $default, $allow_empty);
- return $line;
- }
- public function getPassword($label)
- {
- $this->write($label . ": ");
- $oldStyle = shell_exec('stty -g');
- shell_exec('stty -echo');
- $password = rtrim(fgets(STDIN), "\n");
- shell_exec('stty ' . $oldStyle);
- $this->write("\n");
- return $password;
- }
- public function write($text)
- {
- fwrite(STDOUT, $text);
- }
- }
- $user = new User();
- $params = array();
- $params['mysql_host'] = $user->getInput('mysql host', 'localhost');
- $params['mysql_root_password'] = $user->getPassword('mysql root password');
- $db = @mysql_connect($params['mysql_host'], 'root', $params['mysql_root_password']);
- if($db) {
- $user->write(">>> Connected to DB!\n");
- } else {
- $user->write(">>> Could not connect: ".mysql_error()."\n");
- exit;
- }
- $exit = false;
- $params['permissions'] = "SELECT, INSERT, UPDATE, DELETE";
- do {
- $params['username'] = $user->getInput('New user username');
- $params['password'] = $user->getInput("New user passsword hash. To enter plain password, press 'p'");
- if($params['password'] == 'p')
- $params['password_plain'] = $user->getPassword('New user passsword');
- $params['db'] = $user->getInput('DB name or coma separated list', @$params['db']);
- $params['permissions'] = $user->getInput('Permissions', @$params['permissions']);
- $dbs = explode(",", $params['db']);
- foreach($dbs as $db_name) {
- $db_name = trim($db_name);
- $sql = "GRANT {$params['permissions']} ON {$db_name}.* TO '{$params['username']}'@'locahost' IDENTIFIED BY ";
- if($params['password'] == 'p') {
- $sql .= "'{$params['password_plain']}'";
- } else {
- $sql .= "PASSWORD '{$params['password']}'";
- }
- $user->write(">>> Query: $sql\n");
- $res = @mysql_query($sql, $db);
- if($res) {
- $user->write(">>> Success!\n");
- } else {
- $user->write(">>> ERROR: ".mysql_error()."\n");
- }
- }
- $exit = $user->getInput("Type 'x' to exit, or any key to create new user", null, true) == 'x';
- } while ($exit == false);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement