4 require_once 'plc_login.php';
6 // Get session and API handles
7 require_once 'plc_session.php';
8 global $plc, $api, $adm;
11 require_once 'plc_drupal.php';
13 drupal_set_title('Sites');
14 include 'plc_header.php';
17 require_once 'plc_functions.php';
18 require_once 'plc_sorts.php';
21 $_person= $plc->person;
22 $_roles= $_person['role_ids'];
25 // if no id: add, else: display(update)
27 if( $_POST['submitted'] ) {
28 // get person's site id
29 $site_id= $_person['site_ids'][0];
32 $fields= array( 'protocol'=>$_POST['protocol'], 'hostname'=>$_POST['hostname'], 'model'=>$_POST['model'], 'username'=>$_POST['username'], 'password'=>$_POST['password'], 'notes'=>$_POST['notes'], 'ip'=>$_POST['ip'] );
34 $pcu_id= $api->AddPCU( $site_id, $fields );
37 header( "location: /db/sites/pcu.php?id=$pcu_id" );
40 $error= $api->error();
44 if( !empty( $error ) )
45 echo '<div class="plc-warning">' . $error . '.</div>';
47 echo "<h3>Add a PCU</h3>\n
48 <form action='/db/sites/pcu.php' method=post>\n
49 <p><table border=0 cellpadding=3><tbody>\n
50 <tr><th>Protocol: </th><td><input type=text name='protocol' value=''></td></tr>\n
51 <tr><th>Hostname: </th><td><input type=text name='hostname' size=40 value=''></td></tr>\n
52 <tr><th>IP Address: </th><td><input type=text name='ip' size=40 value=''></td></tr>\n
53 <tr><th>Model: </th><td><input type=text name='model' value=''></td></tr>\n
54 <tr><th>Username: </th><td><input type=text name='username' value=''></td></tr>\n
55 <tr><th>Password: </th><td><input type=text name='password' value=''></td></tr>\n
56 <tr><th>Notes: </th><td><input type=text name='notes' size=40 value=''></td></tr>\n
58 <br /><p><input type=submit name='submitted' value='Add New PCU'>\n";
61 $pcu_id= intval( $_GET['id'] );
62 $pcu_info= $api->GetPCUs( array( intval( $pcu_id ) ) );
64 // if remove is set remove the node from the pcu
65 if( $_GET['remove'] ) {
66 $rem_id= $_GET['remove'];
68 $api->DeleteNodeFromPCU( intval( $rem_id ), $pcu_id );
70 header( "Location: /db/sites/pcu.php?id=$pcu_id" );
75 //if submitted, update node info
76 if( $_POST['submitted'] ) {
77 $protocol= $_POST['protocol'];
78 $username= $_POST['username'];
79 $hostname= $_POST['hostname'];
80 $ipaddress= $_POST['ip'];
81 $model= $_POST['model'];
82 $password= $_POST['password'];
83 $notes= $_POST['notes'];
85 $api->UpdatePCU( $pcu_id, array( "protocol"=>$protocol, "hostname"=>$hostname, "model"=>$model, "password"=>$password, "notes"=>$notes, "ip"=>$ipaddress ) );
87 header( "Location: /db/sites/pcu.php?id=$pcu_id" );
92 if( in_array( 10, $_roles ) || ( in_array( 20, $_roles ) && in_array( $pcu_info[0]['site_id'], $_person['site_ids'] ) ) || ( in_array( 40, $_roles ) && in_array( $pcu_info[0]['site_id'], $_person['site_ids'] ) ) )
93 $pcu_controller= true;
96 $node_info= $api->GetNodes( $pcu_info[0]['node_ids'], array( "hostname", "node_id", "boot_state" ) );
97 echo "<form action='/db/sites/pcu.php?id=$pcu_id' method=post>\n
98 <h3>PCU: ". $pcu_info[0]['hostname'] ."</h3>\n
99 <p><table border=0 cellpadding=3><tbody>\n
100 <tr><th>Protocol: </th><td>";
102 if( $pcu_controller )
103 echo "<input type=text name='protocol' value='";
105 echo $pcu_info[0]['protocol'];
107 if( $pcu_controller )
111 <tr><th>Hostname: </th><td>";
113 if( $pcu_controller )
114 echo "<input type=text name='hostname' size=40 value='";
116 echo $pcu_info[0]['hostname'];
121 <tr><th>IP Address: </th><td>";
122 if( $pcu_controller )
123 echo "<input type=text name='ip' value='";
125 echo $pcu_info[0]['ip'];
129 if( $pcu_controller )
131 <tr><th>Model: </th><td>";
133 if( $pcu_controller )
134 echo "<input type=text name='model' value='";
136 echo $pcu_info[0]['model'];
138 if( $pcu_controller )
142 <tr><th>Username: </th><td>";
144 if( $pcu_controller )
145 echo "<input type=text name='username' value='";
147 echo $pcu_info[0]['username'];
149 if( $pcu_controller )
153 <tr><th>Password: </th><td>";
155 if( $pcu_controller )
156 echo "<input type=text name='password' value='";
158 echo $pcu_info[0]['password'];
160 if( $pcu_controller )
164 <tr><th>Notes: </th><td>";
166 if( $pcu_controller )
167 echo "<input type=text name='notes' size=40 value='";
169 echo $pcu_info[0]['notes'];
171 if( $pcu_controller )
177 if( $pcu_controller )
178 echo "<br /><p><input type=submit name='submitted' value='Update PCU'>\n";
180 if( !empty( $node_info ) ) {
181 echo "<p><table border=0 cellpadding=3>\n<caption>Nodes</caption>\n<thead><tr><th></th><th>Hostname</td><th>State</th><th></th>";
183 // if user can control PCU add table cells
184 if( $pcu_controller )
187 echo "</tr></thead><tbody>\n";
192 foreach( $node_info as $node ) {
193 echo "<tr><td>". $pcu_info[0]['ports'][$count] ."</td><td><a href='/db/nodes/index.php?id=". $node['node_id'] ."'>". $node['hostname'] ."</a></td><td class='list_set'>". $node['boot_state'] ."</td>";
195 if( $pcu_controller )
196 echo "<td><a href='/db/sites/pcu.php?id=$pcu_id&remove=". $node['node_id'] ."' onclick=\"javascript:return confirm('Are you sure you want to remove node ". $node['hostname'] ." from this PCU?')\">remove</a></td>\n";
203 echo "</tbody></table><br />\n";
206 echo "<p>No nodes on PCU.";
210 echo "<br /><p><a href='/db/sites/index.php?id=". $pcu_info[0]['site_id'] ."'>Back to Site</a>\n";
217 include 'plc_footer.php';