if ($_POST['name'] == "" || $_POST['host'] == "" || $_POST['dbuser'] == "" || $_POST['dbname'] == "")
return false;
+ if ($selected_id == -1 && (!isset($_GET['ul']) || $_GET['ul'] != 1))
+ {
+ display_error(_("When creating a new company, you must provide a Database script file."));
+ return false;
+ }
foreach($db_connections as $id=>$con)
{
if($id != $selected_id && $_POST['host'] == $con['host']
function handle_submit()
{
global $db_connections, $def_coy, $tb_pref_counter, $db,
- $comp_path, $comp_subdirs, $path_to_root;
+ $comp_subdirs, $path_to_root;
- $new = false;
$error = false;
if (!check_data())
return false;
$id = $_GET['id'];
+ $new = !isset($db_connections[$id]);
$db_connections[$id]['name'] = $_POST['name'];
$db_connections[$id]['host'] = $_POST['host'];
{
$db_connections[$id]['tbpref'] = $_POST['tbpref'] == 1 ?
$tb_pref_counter."_" : '';
- $new = true;
}
else if ($_POST['tbpref'] != "")
$db_connections[$id]['tbpref'] = $_POST['tbpref'];
remove_connection($id);
return false;
}
+ } else {
+ if ($_GET['c'] = 'u') {
+ $conn = $db_connections[$id];
+ if (($db = db_create_db($conn)) == 0)
+ {
+ display_error(_("Error connecting to Database: ") . $conn['dbname'] . _(", Please correct it"));
+ $error = true;
+ } elseif ($_POST['admpassword'] != "") {
+ db_query("UPDATE ".$conn['tbpref']."users set password = '".md5($_POST['admpassword']). "' WHERE user_id = 'admin'");
+ }
+ }
}
$error = write_config_db($new);
if ($error == -1)
if ($new)
{
- create_comp_dirs("$comp_path/$id", $comp_subdirs);
+ create_comp_dirs(company_path($id), $comp_subdirs);
}
$exts = get_company_extensions();
write_extensions($exts, $id);
function handle_delete()
{
- global $comp_path, $def_coy, $db_connections, $comp_subdirs, $path_to_root;
+ global $def_coy, $db_connections, $comp_subdirs, $path_to_root;
$id = $_GET['id'];
// First make sure all company directories from the one under removal are writable.
// Without this after operation we end up with changed per-company owners!
for($i = $id; $i < count($db_connections); $i++) {
- if (!is_dir($comp_path.'/'.$i) || !is_writable($comp_path.'/'.$i)) {
+ $comp_path = company_path($i);
+ if (!is_dir($comp_path) || !is_writable($comp_path)) {
display_error(_('Broken company subdirectories system. You have to remove this company manually.'));
return;
}
// rename directory to temporary name to ensure all
// other subdirectories will have right owners even after
// unsuccessfull removal.
- $cdir = $comp_path.'/'.$id;
- $tmpname = $comp_path.'/old_'.$id;
+ $cdir = company_path($id);
+ $tmpname = company_path('/old_'.$id);
if (!@rename($cdir, $tmpname)) {
display_error(_('Cannot rename subdirectory to temporary name.'));
return;
}
// 'shift' company directories names
for ($i = $id+1; $i < count($db_connections); $i++) {
- if (!rename($comp_path.'/'.$i, $comp_path.'/'.($i-1))) {
+ if (!rename(company_path($i), company_path($i-1))) {
display_error(_("Cannot rename company subdirectory"));
return;
}
display_error(_("Cannot remove temporary renamed company data directory ") . $tmpname);
return;
}
- display_notification(_("Selected company as been deleted"));
+ display_notification(_("Selected company has been deleted"));
}
//---------------------------------------------------------------------------------------------
function display_companies()
{
- global $table_style, $def_coy, $db_connections;
+ global $def_coy, $db_connections;
$coyno = $_SESSION["wa_current_user"]->company;
document.location.replace('create_coy.php?c=df&id='+id)
}
</script>";
- start_table($table_style);
+ start_table(TABLESTYLE);
$th = array(_("Company"), _("Database Host"), _("Database User"),
_("Database Name"), _("Table Pref"), _("Default"), "", "");
function display_company_edit($selected_id)
{
- global $def_coy, $db_connections, $tb_pref_counter, $table_style2;
+ global $def_coy, $db_connections, $tb_pref_counter;
if ($selected_id != -1)
$n = $selected_id;
document.forms[0].action='create_coy.php?c=u&ul=1&id=" . $n . "&fn=' + document.forms[0].uploadfile.value
}
else {
- document.forms[0].action='create_coy.php?c=u&id=" . $n . "&fn=' + document.forms[0].uploadfile.value
+ document.forms[0].action='create_coy.php?c=u&id=" . $n . "'
}
document.forms[0].submit()
}
</script>";
- start_table($table_style2);
+ start_table(TABLESTYLE2);
if ($selected_id != -1)
{
label_row(_("Table Pref"), $_POST['tbpref']);
yesno_list_row(_("Default"), 'def', null, "", "", false);
- start_row();
- label_cell(_("Database Script"));
- label_cell("<input name='uploadfile' type='file'>");
- end_row();
+ file_row(_("Database Script"), "uploadfile");
text_row_ex(_("New script Admin Password"), 'admpassword', 20);