_("Your account"))); dual_begin(array()); print("

" . _("Home") . " / " . _("Your account") . "

\n"); print("

" . _("You have not authenticated yourself to the system yet with your") . " " . _("username") . " " . _("and") . " " . _("password") . ". " . _("You will not be able to use this section of the website without authenticating yourself first. So, please continue and login using the form on the right hand side.") . "

\n"); dual_middle(array()); show_account_details(array()); dual_end(array()); generic_footer(array()); exit; } $volumes_id = array(); $volumes_name = array(); $volumes_mountpoint = array(); $volumes_vg = array(); function volumes_startelement($parser, $name, $attrs) { global $volumes_id, $volumes_name, $volumes_mountpoint, $volumes_vg; if ($name == "VOLUME") { array_push($volumes_id, $attrs["ID"]); array_push($volumes_name, $attrs["NAME"]); array_push($volumes_mountpoint, $attrs["MOUNTPOINT"]); array_push($volumes_vg, $attrs["VG"]); } } function volumes_endelement($parser, $name) { } $volumes_parser = xml_parser_create(); xml_set_element_handler($volumes_parser, "volumes_startelement", "volumes_endelement"); $volumes_fp = fopen("/opt/openfiler/etc/volumes.xml", "r"); while ($volumes_data = fread($volumes_fp, 4096)) xml_parse($volumes_parser, $volumes_data, feof($volumes_fp)); fclose($volumes_fp); xml_parser_free($volumes_parser); $fstabp = popen("/usr/bin/sudo /bin/cat /etc/fstab", "r"); $i = 0; while (!feof($fstabp)) { $j = 0; $fstabstr = trim(fgets($fstabp, 4096)); if (strlen($fstabstr) <= 0) continue; if (substr($fstabstr, 0, 1) == "#") continue; $foo = explode(" ", $fstabstr); foreach ($foo as $fresultitem) { $fresultitem = trim($fresultitem); if (strlen($fresultitem) > 0) { $fstab[$i][$j] = $fresultitem; $j++; } } $i++; } $fstabcount = $i; pclose($fstabp); if ($HTTP_POST_VARS["edit"] == "Change") { if (strlen($HTTP_POST_VARS["newvolumename"]) <= 0) $newvolumename = $volume; $newmountpoint = trim($newmountpoint); if (substr($newmountpoint, strlen($newmountpoint) - 1, 1) == "/") $newmountpoint = substr($newmountpoint, 0, strlen($newmountpoint) - 1); if ((is_dir($newmountpoint)) || (is_file($newmountpoint))) { $newmountpoint = ""; for ($j = 0; $j < count($volumes_id); $j++) if ($volumes_id[$j] == $volume) { $newmountpoint = $volumes_mountpoint[$j]; break; } if (strlen($newmountpoint) <= 0) { header("Location: ./volumes.html"); exit; } $newmountpoint = trim($newmountpoint); if (substr($newmountpoint, strlen($newmountpoint) - 1, 1) == "/") $newmountpoint = substr($newmountpoint, 0, strlen($newmountpoint) - 1); } $volume = strtolower($volume); $volumesp = popen("/usr/bin/sudo /usr/bin/tee /opt/openfiler/etc/volumes.xml", "w"); fputs($volumesp, "\n"); fputs($volumesp, "\n"); for ($i = 0; $i < count($volumes_id); $i++) if ($volumes_id[$i] != $volume) fputs($volumesp, "\t\n"); else fputs($volumesp, "\t\n"); fputs($volumesp, "\n"); pclose($volumesp); $fstabp = popen("/usr/bin/sudo /usr/bin/tee /etc/fstab", "w"); for ($i = 0; $i < $fstabcount; $i++) { $str = ""; for ($j = 0; $j < count($fstab[$i]); $j++) { if ($j > 0) $str .= " "; if (($fstab[$i][0] == "/dev/openfiler/" . $volume) && ($j == 1)) $str .= $newmountpoint; else $str .= $fstab[$i][$j]; } fputs($fstabp, ($str . "\n")); } pclose($fstabp); $smb = (strstr(exec("/usr/bin/sudo /sbin/service smb status"), "running") ? 1 : 0); $nfsv3 = (strstr(exec("/usr/bin/sudo /sbin/service nfs status"), "running") ? 1 : 0); $atalk = (strstr(exec("/usr/bin/sudo /sbin/service atalk status"), "running") ? 1 : 0); if ($smb) exec("/usr/bin/sudo /sbin/service smb stop"); if ($nfsv3) exec("/usr/bin/sudo /sbin/service nfs stop"); if ($atalk) exec("/usr/bin/sudo /sbin/service atalk stop"); exec("/usr/bin/sudo /bin/umount /dev/openfiler/" . escapeshellarg($volume)); for ($j = 0; $j < count($volumes_id); $j++) if ($volumes_id[$j] == $volume) { exec("/usr/bin/sudo /bin/rmdir --ignore-fail-on-non-empty " . escapeshellarg($volumes_mountpoint[$j])); break; } exec("/usr/bin/sudo /bin/mkdir -p " . escapeshellarg($newmountpoint)); exec("/usr/bin/sudo /bin/mount -a"); apply_configuration(); header("Location: ./volumes.html"); exit; } else if ($HTTP_POST_VARS["edit"] == "Cancel") { header("Location: ./volumes.html"); exit; } if (strlen($HTTP_GET_VARS["volume"]) <= 0) { header("Location: ./volumes.html"); exit; } $volume = strtolower($volume); $vn = 0; while (($vn < count($volumes_id)) && ($volumes_id[$vn] != $volume)) $vn++; if ($vn >= count($volumes_id)) { header("Location: ./volumes.html"); exit; } generic_header(array("title" => _("Administration Section"))); single_begin(array()); print("

" . _("Home") . " / " . _("Administration Section") . "

\n"); ?>

Welcome Administrator. The following are various system information and preferences, arranged into tabs. Please click on a tab to open up that category.

Edit properties of volume \"" . $volume . "\"\n"); print("
\n"); print("\n"); print("\n"); print("
\n"); print("\n"); print("\n"); print("\t\n"); print("\t\n"); print("\n"); print("\n"); print("\t\n"); print("\t\n"); print("\n"); print("\n"); print("\t\n"); print("\n"); print("
Current volume description" . htmlentities($volumes_name[$vn]) . "
New volume description
 
\n"); print("
\n"); print("
\n"); nested_tab_end(); single_end(array()); generic_footer(array()); ?>