X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=admin%2Fcreate_coy.php;h=eec636487124d29189ea3176a75d149372529ad3;hb=ac67fd3d7312c358ddec72393538cf4590c66f49;hp=ddce8db2ee0e18f46134b472f888e25c73cf19a8;hpb=1bcf988071670424e8bc88eb98156ecda13c3488;p=fa-stable.git diff --git a/admin/create_coy.php b/admin/create_coy.php index ddce8db2..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'] != "") @@ -117,19 +146,10 @@ function handle_submit() { return false; } - $index = ""; if ($new) { - $cdir = $comp_path.'/'.$id; - @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); - } + create_comp_dirs("$comp_path/$id", $comp_subdirs); } return true; } @@ -142,9 +162,22 @@ function handle_delete() $id = $_GET['id']; + $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; @@ -158,14 +191,6 @@ function handle_delete() if ($error != 0) return; - $cdir = $comp_path.'/'.$id; - 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 "