X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;ds=sidebyside;f=admin%2Fcreate_coy.php;h=eec636487124d29189ea3176a75d149372529ad3;hb=a39265e56d8242281a694fb619804c67388b13c5;hp=b43224abce6724db30095f0790540ca9cf0eee4b;hpb=1273d798e494986d5d35b885ccbd0ccaaa0c2695;p=fa-stable.git diff --git a/admin/create_coy.php b/admin/create_coy.php index b43224ab..eec63648 100644 --- a/admin/create_coy.php +++ b/admin/create_coy.php @@ -1,6 +1,15 @@ . +***********************************************************************/ +$page_security = 20; $path_to_root=".."; include_once($path_to_root . "/includes/session.inc"); @@ -11,10 +20,9 @@ include_once($path_to_root . "/includes/ui.inc"); page(_("Create/Update Company")); -$comp_subdirs = array('images', 'pdf_files', 'backup','js_cache'); +$comp_subdirs = array('images', 'pdf_files', 'backup','js_cache', 'reporting', 'attachments'); //--------------------------------------------------------------------------------------------- - if (isset($_GET['selected_id'])) { $selected_id = $_GET['selected_id']; @@ -30,6 +38,27 @@ else function check_data() { + global $db_connections, $tb_pref_counter, $selected_id; + + if ($_POST['name'] == "" || $_POST['host'] == "" || $_POST['dbuser'] == "" || $_POST['dbname'] == "") + return false; + foreach($db_connections as $id=>$con) + { + if($id != $selected_id && $_POST['host'] == $con['host'] + && $_POST['dbname'] == $con['dbname']) + { + if ($_POST['tbpref'] == $con['tbpref']) + { + display_error(_("This database settings are already used by another company.")); + return false; + } + if ($_POST['tbpref'] == 0 || $con['tbpref'] == '') + { + display_error(_("You cannot have table set without prefix together with prefixed sets in the same database.")); + return false; + } + } + } return true; } @@ -38,7 +67,6 @@ function check_data() function remove_connection($id) { global $db_connections; - $dbase = $db_connections[$id]['dbname']; $err = db_drop_db($db_connections[$id]); unset($db_connections[$id]); @@ -68,9 +96,10 @@ function handle_submit() $db_connections[$id]['dbname'] = $_POST['dbname']; if (isset($_GET['ul']) && $_GET['ul'] == 1) { - if (is_numeric($_POST['tbpref']) && $_POST['tbpref'] == 1) + if (is_numeric($_POST['tbpref'])) { - $db_connections[$id]['tbpref'] = $tb_pref_counter."_"; + $db_connections[$id]['tbpref'] = $_POST['tbpref'] == 1 ? + $tb_pref_counter."_" : ''; $new = true; } else if ($_POST['tbpref'] != "") @@ -113,20 +142,14 @@ function handle_submit() display_error(_("Cannot write to the configuration file - ") . $path_to_root . "/config_db.php"); else if ($error == -3) display_error(_("The configuration file ") . $path_to_root . "/config_db.php" . _(" is not writable. Change its permissions so it is, then re-run the operation.")); - if ($error != 0) { + if ($error != 0) + { return false; } - $index = ""; - - if ($new) { - $cdir = $comp_path.'/'.($tb_pref_counter-1); - @mkdir($cdir); - save_to_file($cdir.'/'.'index.php', 0, $index); - - foreach($comp_subdirs as $dir) { - @mkdir($cdir.'/'.$dir); - save_to_file($cdir.'/'.$dir.'/'.'index.php', 0, $index); - } + + if ($new) + { + create_comp_dirs("$comp_path/$id", $comp_subdirs); } return true; } @@ -139,13 +162,22 @@ function handle_delete() $id = $_GET['id']; - $pref = $db_connections[$id]['tbpref']; - if($pref!='') - $pref = substr($pref, 0, strlen($pref)-1); - + $cdir = $comp_path.'/'.$id; + @flush_dir($cdir); + if (!rmdir($cdir)) + { + display_error(_("Cannot remove company data directory ") . $cdir); + return; + } + for($i = $id+1; $i < count($db_connections); $i++) { + if (!rename($comp_path.'/'.$i, $comp_path.'/'.($i-1))) { + display_error(_("Cannot rename company subdirectory")); + return; + } + } $err = remove_connection($id); if ($err == 0) - display_error(_("Error removing Database: ") . $dbase . _(", please remove it manuallly")); + display_error(_("Error removing Database: ") . $dbase . _(", please remove it manually")); if ($def_coy == $id) $def_coy = 0; @@ -159,13 +191,6 @@ function handle_delete() if ($error != 0) return; - $cdir = $comp_path.'/'.$pref; - flush_dir($cdir); - if (!rmdir($cdir)) { - display_error(_("Cannot remove company data directory ") . $cdir); - return; - } - meta_forward($_SERVER['PHP_SELF']); } @@ -211,9 +236,16 @@ function display_companies() label_cell($conn[$i]['dbname']); label_cell($conn[$i]['tbpref']); label_cell($what); - label_cell("" . _("Edit") . ""); - if ($i != $coyno) - label_cell("" . _("Delete") . ""); + $edit = _("Edit"); + $delete = _("Delete"); + if (user_graphic_links()) + { + $edit = set_icon(ICON_EDIT, $edit); + $delete = set_icon(ICON_DELETE, $delete); + } + label_cell("$edit"); + label_cell( $i == $coyno ? '' : + "$delete"); end_row(); } @@ -232,7 +264,7 @@ function display_company_edit($selected_id) else $n = count($db_connections); - start_form(true, true); + start_form(true); echo "