opensim-tools – Diff between revs 67 and 93

Subversion Repositories:
Rev:
Only display areas with differencesIgnore whitespace
Rev 67 Rev 93
1 #!/usr/bin/php 1 #!/usr/bin/php
2 <?php 2 <?php
3 3
4 ///////////////////////////////////////////////////////////// 4 /////////////////////////////////////////////////////////////
5 // Wizardry and Steamworks (c) was.fm - 2013, License: MIT // 5 // Wizardry and Steamworks (c) was.fm - 2013, License: MIT //
6 // // 6 // //
7 // Permission is hereby granted, free of charge, to any // 7 // Permission is hereby granted, free of charge, to any //
8 // person obtaining a copy of this software and associated // 8 // person obtaining a copy of this software and associated //
9 // documentation files (the "Software"), to deal in the // 9 // documentation files (the "Software"), to deal in the //
10 // Software without restriction, //including without // 10 // Software without restriction, //including without //
11 // limitation the rights to use, copy, modify, merge, // 11 // limitation the rights to use, copy, modify, merge, //
12 // publish, distribute, sublicense, and/or sell copies of // 12 // publish, distribute, sublicense, and/or sell copies of //
13 // the Software, and to permit persons to whom the // 13 // the Software, and to permit persons to whom the //
14 // Software is furnished to do so, subject to the // 14 // Software is furnished to do so, subject to the //
15 // following conditions: // 15 // following conditions: //
16 // // 16 // //
17 // The above copyright notice and this permission notice // 17 // The above copyright notice and this permission notice //
18 // shall be included in all copies or substantial portions // 18 // shall be included in all copies or substantial portions //
19 // of the Software. // 19 // of the Software. //
20 // // 20 // //
21 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF // 21 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF //
22 // ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT // 22 // ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT //
23 // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS // 23 // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS //
24 // FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO // 24 // FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO //
25 // EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE // 25 // EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE //
26 // FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER // 26 // FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER //
27 // IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // 27 // IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING //
28 // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR // 28 // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR //
29 // THE USE OR OTHER DEALINGS IN THE SOFTWARE. // 29 // THE USE OR OTHER DEALINGS IN THE SOFTWARE. //
30 ///////////////////////////////////////////////////////////// 30 /////////////////////////////////////////////////////////////
31   31  
32 ///////////////////////////////////////////////////////////// 32 /////////////////////////////////////////////////////////////
33 // CONFIGURATION // 33 // CONFIGURATION //
34 ///////////////////////////////////////////////////////////// 34 /////////////////////////////////////////////////////////////
35 35
36 // Hostname or IP of your OpenSim MySQL server. 36 // Hostname or IP of your OpenSim MySQL server.
37 define("MYSQL_HOSTNAME", "localhost"); 37 define("MYSQL_HOSTNAME", "localhost");
38 // Username of the OpenSim MySQL user. 38 // Username of the OpenSim MySQL user.
39 define("MYSQL_USERNAME", "opensim"); 39 define("MYSQL_USERNAME", "opensim");
40 // Password of the OpenSim MySQL user. 40 // Password of the OpenSim MySQL user.
41 define("MYSQL_PASSWORD", "***"); 41 define("MYSQL_PASSWORD", "***");
42 // Name of the OpenSim database on the MySQL server. 42 // Name of the OpenSim database on the MySQL server.
43 define("MYSQL_DATABASE", "opensim"); 43 define("MYSQL_DATABASE", "opensim");
44 44
45 ///////////////////////////////////////////////////////////// 45 /////////////////////////////////////////////////////////////
46 // INTERNALS // 46 // INTERNALS //
47 ///////////////////////////////////////////////////////////// 47 /////////////////////////////////////////////////////////////
48   48  
49 require_once('/var/www/lib/wasRemoteAdmin.php'); 49 require_once('/var/www/lib/wasRemoteAdmin.php');
50   50  
51 if(!defined('STDIN')) { 51 if(!defined('STDIN')) {
52 print 'This script is meant to be run on the command line.'."\n"; 52 print 'This script is meant to be run on the command line.'."\n";
53 return 1; 53 return 1;
54 } 54 }
55 #if($argc < 2) { 55 #if($argc < 2) {
56 # print 'ERROR: Please specify OARs and IARs to filter on the command line.'."\n"; 56 # print 'ERROR: Please specify OARs and IARs to filter on the command line.'."\n";
57 # print 'Syntax: php '.$argv[0]. ' <First Name> <Last Name>'."\n"; 57 # print 'Syntax: php '.$argv[0]. ' <First Name> <Last Name>'."\n";
58 # return 1; 58 # return 1;
59 #} 59 #}
60   60  
61 $connection_ok = mysql_connect(MYSQL_HOSTNAME, MYSQL_USERNAME, MYSQL_PASSWORD); 61 $connection_ok = mysql_connect(MYSQL_HOSTNAME, MYSQL_USERNAME, MYSQL_PASSWORD);
62 if(!$connection_ok) { 62 if(!$connection_ok) {
63 print 'Could not connect to the OpenSim database. Please edit the script and make sure the credentials are correct.'."\n"; 63 print 'Could not connect to the OpenSim database. Please edit the script and make sure the credentials are correct.'."\n";
64 return 1; 64 return 1;
65 } 65 }
66 $db_selected = mysql_select_db(MYSQL_DATABASE); 66 $db_selected = mysql_select_db(MYSQL_DATABASE);
67 if(!$db_selected) { 67 if(!$db_selected) {
68 print 'Could not select the opensim database. Please edit this script and make sure the credentials are correct.'."\n"; 68 print 'Could not select the opensim database. Please edit this script and make sure the credentials are correct.'."\n";
69 return 1; 69 return 1;
70 } 70 }
71   71  
72 $query = 'SELECT Concat(FirstName, " ", LastName) FROM UserAccounts'; 72 $query = 'SELECT Concat(FirstName, " ", LastName) FROM UserAccounts';
73 $result = mysql_query($query); 73 $result = mysql_query($query);
74 $users = array(); 74 $users = array();
75 while($row = mysql_fetch_array($result)) { 75 while($row = mysql_fetch_array($result)) {
76 array_push($users, $row[0]); 76 array_push($users, $row[0]);
77 } 77 }
78   78  
79 // Now we can get rid of the script name. 79 // Now we can get rid of the script name.
80 array_shift($argv); 80 array_shift($argv);
81   81  
82 // Create the request 82 // Create the request
83 $req = new KOS('http://localhost:10000', 'opensim'); 83 $req = new wasRemoteAdmin('http://localhost:10000', 'opensim');
84   84  
85 // ..and dump 85 // ..and dump
86 foreach($users as $user) { 86 foreach($users as $user) {
87 $_user = preg_replace('/\s/','_',$user); 87 $_user = preg_replace('/\s/','_',$user);
88 $USER_FOLDER='/var/lib/iar/'.$_user; 88 $USER_FOLDER='/var/lib/iar/'.$_user;
89 if(!is_dir($USER_FOLDER)) mkdir($USER_FOLDER); 89 if(!is_dir($USER_FOLDER)) mkdir($USER_FOLDER);
90 chown($USER_FOLDER, 'opensim'); 90 chown($USER_FOLDER, 'opensim');
91 $req->send('save iar '.$user.' / '.$USER_FOLDER.'/'.$_user.'.iar'); 91 $req->admin_console_command('save iar '.$user.' / '.$USER_FOLDER.'/'.$_user.'.iar');
92 } 92 }
93   93