#!/usr/bin/php isInstantiable()) continue; unset($r); $o=new $class(); // TODO this will be static once 5.3.0 is out if (isset($opts['R'])) { query($o->drop_table()); } query($o->create_table()); } $user=new sql_user(); do { if ($user->email) { echo 'Invalid entry: '.$user->email."\n"; } echo 'Admin email address: '; $user->email=trim(fgets(STDIN)); if (!$interactive) { echo "\n"; } } while (!Validate::email($user->email)); do { if ($user->name) { echo 'Invalid entry: '.$user->name."\n"; } echo 'Admin display name: '; $user->name=trim(fgets(STDIN)); if (!$interactive) { echo "\n"; } } while (!Validate::username($user->name)); if ($interactive) { system('stty -echo'); } do { if (isset($pass)) { echo "Entered passwords did not match. Try again.\n"; } echo 'Admin password: '; $pass=trim(fgets(STDIN)); echo "\nRepeat password: "; $passconfirm=trim(fgets(STDIN)); echo "\n"; } while (!$pass || $pass != $passconfirm); if ($interactive) { system('stty echo'); } $user->passhash=substr($pass, 0, 5)=='sha1:'?substr($pass, 5):sha1($pass); $user->flags='a'; // Admin $user->write(); foreach (glob(dirname(__FILE__).'/*_setup.php') as $file) { // __DIR__ 5.3.0 require($file); } ?>