From 55eddd7accf2c5f9b0f52b22a010c4c4b7c130d1 Mon Sep 17 00:00:00 2001 From: Bill Marquette Date: Fri, 6 Feb 2009 19:18:00 -0600 Subject: mv packages to config dir to match web layout --- config/freenas/www/services_samba.php | 431 ++++++++++++++++++++++++++++++++++ 1 file changed, 431 insertions(+) create mode 100644 config/freenas/www/services_samba.php (limited to 'config/freenas/www/services_samba.php') diff --git a/config/freenas/www/services_samba.php b/config/freenas/www/services_samba.php new file mode 100644 index 00000000..afd90a08 --- /dev/null +++ b/config/freenas/www/services_samba.php @@ -0,0 +1,431 @@ + + All rights reserved. + + Based on FreeNAS (http://www.freenas.org) + Copyright (C) 2005-2006 Olivier Cochard-Labbé . + All rights reserved. + + Based on m0n0wall (http://m0n0.ch/wall) + Copyright (C) 2003-2006 Manuel Kasper . + All rights reserved. + */ +/* ========================================================================== */ +/* + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, + OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + */ +/* ========================================================================== */ + +$pgtitle = array(gettext("Services"), + gettext("CIFS")); + +require_once("freenas_config.inc"); +require_once("guiconfig.inc"); +require_once("freenas_guiconfig.inc"); +require_once("freenas_functions.inc"); + +if (!is_array($freenas_config['samba'])) +{ + $freenas_config['samba'] = array(); +} + +if (!is_array($freenas_config['mounts']['mount'])) + $freenas_config['mounts']['mount'] = array(); + +mount_sort(); + +$a_mount = &$freenas_config['mounts']['mount']; + +$pconfig['netbiosname'] = $freenas_config['samba']['netbiosname']; +$pconfig['workgroup'] = $freenas_config['samba']['workgroup']; +$pconfig['serverdesc'] = $freenas_config['samba']['serverdesc']; +$pconfig['security'] = $freenas_config['samba']['security']; +$pconfig['localmaster'] = $freenas_config['samba']['localmaster']; +$pconfig['winssrv'] = $freenas_config['samba']['winssrv']; +/* $pconfig['hidemount'] = $freenas_config['samba']['hidemount']; */ +$pconfig['timesrv'] = $freenas_config['samba']['timesrv']; +$pconfig['unixcharset'] = $freenas_config['samba']['unixcharset']; +$pconfig['doscharset'] = $freenas_config['samba']['doscharset']; +$pconfig['loglevel'] = $freenas_config['samba']['loglevel']; +$pconfig['sndbuf'] = $freenas_config['samba']['sndbuf']; +$pconfig['rcvbuf'] = $freenas_config['samba']['rcvbuf']; +$pconfig['enable'] = isset($freenas_config['samba']['enable']); +$pconfig['recyclebin'] = isset($freenas_config['samba']['recyclebin']); + +if (! empty($_POST)) +{ + /* hash */ + unset($error_bucket); + /* simple error list */ + unset($input_errors); + $pconfig = $_POST; + + /* input validation */ + if ($_POST['enable']) { + $reqdfields = array_merge($reqdfields, explode(" ", "netbiosname workgroup security localmaster")); + $reqdfieldsn = array_merge($reqdfieldsn, explode(",", "Netbiosname,Workgroup,Security, Localmaster")); + } + + do_input_validation($_POST, $reqdfields, $reqdfieldsn, &$input_errors); + + if (($_POST['netbiosname'] && !is_domain($_POST['netbiosname']))) { + $error_bucket[] = array("error" => gettext("The Netbios name contains invalid characters."), + "field" => "netbiosname"); + } + if (($_POST['workgroup'] && !is_domain($_POST['workgroup']))) { + $error_bucket[] = array("error" => gettext("The Workgroup name contains invalid characters."), + "field" => "workgroup"); + } + if (($_POST['winssrv'] && !is_ipaddr($_POST['winssrv']))) { + $error_bucket[] = array("error" => gettext("The WINS server must be an IP address."), + "field" => "winssrv"); + } + + if (!is_numericint($_POST['sndbuf'])) { + $error_bucket[] = array("error" => gettext("PediaXThe SND Buffer value must be a number."), + "field" => "sndbuf"); + } + + if (!is_numericint($_POST['rcvbuf'])) { + $error_bucket[] = array("error" => gettext("The RCV Buffer value must be a number."), + "field" => "rcvbuf"); + } + + if (is_array($error_bucket)) + foreach($error_bucket as $elem) + $input_errors[] =& $elem["error"]; + + /* if this is an AJAX caller then handle via JSON */ + if(isAjax() && is_array($error_bucket)) { + input_errors2Ajax(NULL, $error_bucket); + exit; + } + + if (!$input_errors) + { + $freenas_config['samba']['netbiosname'] = $_POST['netbiosname']; + $freenas_config['samba']['workgroup'] = $_POST['workgroup']; + $freenas_config['samba']['serverdesc'] = $_POST['serverdesc']; + $freenas_config['samba']['security'] = $_POST['security']; + $freenas_config['samba']['localmaster'] = $_POST['localmaster']; + $freenas_config['samba']['winssrv'] = $_POST['winssrv']; + /* $freenas_config['samba']['hidemount'] = $_POST['hidemount']; */ + $freenas_config['samba']['timesrv'] = $_POST['timesrv']; + $freenas_config['samba']['doscharset'] = $_POST['doscharset']; + $freenas_config['samba']['unixcharset'] = $_POST['unixcharset']; + $freenas_config['samba']['loglevel'] = $_POST['loglevel']; + $freenas_config['samba']['sndbuf'] = $_POST['sndbuf']; + $freenas_config['samba']['rcvbuf'] = $_POST['rcvbuf']; + $freenas_config['samba']['recyclebin'] = $_POST['recyclebin'] ? true : false; + $freenas_config['samba']['enable'] = $_POST['enable'] ? true : false; + + write_config(); + + $retval = 0; + if (!file_exists($d_sysrebootreqd_path)) { + /* nuke the cache file */ + config_lock(); + services_samba_configure(); + services_zeroconf_configure(); + config_unlock(); + } + $savemsg = get_std_save_message($retval); + } +} + +/* if ajax is calling, give them an update message */ +if(isAjax()) + print_info_box_np($savemsg); + +include("head.inc"); +/* put your custom HTML head content here */ +/* using some of the $pfSenseHead function calls */ + +$jscriptstr = << + + + +EOD; + +$pfSenseHead->addScript($jscriptstr); +echo $pfSenseHead->getHTML(); + +?> + +"> + + +
+ + +
+ + + + + + + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + onClick="enable_change(false)" />  + +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ /> +
+ +
+ +
+ +
+ +
+ +
  + " /> +
+
+
+
+ + + + + -- cgit v1.2.3