Cleanup comments. Small bugfixes. Third run
[fa-stable.git] / inventory / manage / items.php
index 70572f59fed52f10d7245ca162d4941a38af1864..3725aca9e84b5d5fa783c142d3be74c05ebced4b 100644 (file)
@@ -14,13 +14,12 @@ $path_to_root = "../..";
 include($path_to_root . "/includes/session.inc");
 
 $js = "";
-if ($use_popup_windows)
+if ($SysPrefs->use_popup_windows)
        $js .= get_js_open_window(900, 500);
-if ($use_date_picker)
+if (user_use_date_picker())
        $js .= get_js_date_picker();
-       
-page(_($help_context = "Items"), @$_REQUEST['popup'], false, "", $js);
 
+page(_($help_context = "Items"), @$_REQUEST['popup'], false, "", $js);
 
 include_once($path_to_root . "/includes/date_functions.inc");
 include_once($path_to_root . "/includes/ui.inc");
@@ -65,32 +64,41 @@ if (isset($_FILES['pic']) && $_FILES['pic']['name'] != '')
                mkdir($filename);
        }       
        $filename .= "/".item_img_name($stock_id).".jpg";
+
+  if ($_FILES['pic']['error'] == UPLOAD_ERR_INI_SIZE) {
+    display_error(_('The file size is over the maximum allowed.'));
+               $upload_file ='No';
+  }
+  elseif ($_FILES['pic']['error'] > 0) {
+               display_error(_('Error uploading file.'));
+               $upload_file ='No';
+  }
        
        //But check for the worst 
        if ((list($width, $height, $type, $attr) = getimagesize($_FILES['pic']['tmp_name'])) !== false)
                $imagetype = $type;
        else
                $imagetype = false;
-       //$imagetype = exif_imagetype($_FILES['pic']['tmp_name']);
+
        if ($imagetype != IMAGETYPE_GIF && $imagetype != IMAGETYPE_JPEG && $imagetype != IMAGETYPE_PNG)
        {       //File type Check
                display_warning( _('Only graphics files can be uploaded'));
                $upload_file ='No';
-       }       
-       elseif (@strtoupper(substr(trim($_FILES['pic']['name']), @in_array(strlen($_FILES['pic']['name']) - 3)), array('JPG','PNG','GIF')))
+       }
+       elseif (!in_array(strtoupper(substr(trim($_FILES['pic']['name']), strlen($_FILES['pic']['name']) - 3)), array('JPG','PNG','GIF')))
        {
                display_warning(_('Only graphics files are supported - a file extension of .jpg, .png or .gif is expected'));
                $upload_file ='No';
        } 
-       elseif ( $_FILES['pic']['size'] > ($max_image_size * 1024)) 
+       elseif ( $_FILES['pic']['size'] > ($SysPrefs->max_image_size * 1024)) 
        { //File Size Check
-               display_warning(_('The file size is over the maximum allowed. The maximum size allowed in KB is') . ' ' . $max_image_size);
+               display_warning(_('The file size is over the maximum allowed. The maximum size allowed in KB is') . ' ' . $SysPrefs->max_image_size);
                $upload_file ='No';
        } 
        elseif ( $_FILES['pic']['type'] == "text/plain" ) 
        {  //File type Check
                display_warning( _('Only graphics files can be uploaded'));
-               $upload_file ='No';
+        $upload_file ='No';
        } 
        elseif (file_exists($filename))
        {
@@ -126,6 +134,7 @@ function clear_data()
        unset($_POST['dimension_id']);
        unset($_POST['dimension2_id']);
        unset($_POST['no_sale']);
+       unset($_POST['no_purchase']);
 }
 
 //------------------------------------------------------------------------------------
@@ -182,7 +191,7 @@ if (isset($_POST['addupdate']))
                                $_POST['inventory_account'], $_POST['cogs_account'],
                                $_POST['adjustment_account'], $_POST['assembly_account'], 
                                $_POST['dimension_id'], $_POST['dimension2_id'],
-                               check_value('no_sale'), check_value('editable'));
+                               check_value('no_sale'), check_value('editable'), check_value('no_purchase'));
                        update_record_status($_POST['NewStockID'], $_POST['inactive'],
                                'stock_master', 'stock_id');
                        update_record_status($_POST['NewStockID'], $_POST['inactive'],
@@ -200,12 +209,12 @@ if (isset($_POST['addupdate']))
                                $_POST['inventory_account'], $_POST['cogs_account'],
                                $_POST['adjustment_account'], $_POST['assembly_account'], 
                                $_POST['dimension_id'], $_POST['dimension2_id'],
-                               check_value('no_sale'), check_value('editable'));
+                               check_value('no_sale'), check_value('editable'), check_value('no_purchase'));
 
                        display_notification(_("A new item has been added."));
                        $_POST['stock_id'] = $_POST['NewStockID'] = 
                        $_POST['description'] = $_POST['long_description'] = '';
-                       $_POST['no_sale'] = $_POST['editable'] = 0;
+                       $_POST['no_sale'] = $_POST['editable'] = $_POST['no_purchase'] =0;
                        set_focus('NewStockID');
                }
                $Ajax->activate('_page_body');
@@ -254,15 +263,15 @@ if (isset($_POST['delete']) && strlen($_POST['delete']) > 1)
        }
 }
 
-function item_settings(&$stock_id) 
+function item_settings(&$stock_id, $new_item
 {
-       global $SysPrefs, $path_to_root, $new_item, $pic_height;
+       global $SysPrefs, $path_to_root;
 
        start_outer_table(TABLESTYLE2);
 
        table_section(1);
 
-       table_section_title(_("Item"));
+       table_section_title(_("General Settings"));
 
        //------------------------------------------------------------------------------------
        if ($new_item) 
@@ -294,7 +303,8 @@ function item_settings(&$stock_id)
                        $_POST['dimension_id']  = $myrow['dimension_id'];
                        $_POST['dimension2_id'] = $myrow['dimension2_id'];
                        $_POST['no_sale']       = $myrow['no_sale'];
-                       $_POST['del_image'] = 0;        
+                       $_POST['no_purchase']   = $myrow['no_purchase'];
+                       $_POST['del_image'] = 0;
                        $_POST['inactive'] = $myrow["inactive"];
                        $_POST['editable'] = $myrow["editable"];
                }
@@ -324,6 +334,7 @@ function item_settings(&$stock_id)
                $_POST['dimension_id'] = $category_record["dflt_dim1"];
                $_POST['dimension2_id'] = $category_record["dflt_dim2"];
                $_POST['no_sale'] = $category_record["dflt_no_sale"];
+               $_POST['no_purchase'] = $category_record["dflt_no_purchase"];
                $_POST['editable'] = 0;
 
        }
@@ -340,6 +351,8 @@ function item_settings(&$stock_id)
 
        check_row(_("Exclude from sales:"), 'no_sale');
 
+       check_row(_("Exclude from purchases:"), 'no_purchase');
+
        table_section(2);
 
        $dim = get_company_pref('use_dimension');
@@ -389,10 +402,10 @@ function item_settings(&$stock_id)
        if (isset($_POST['NewStockID']) && file_exists(company_path().'/images/'
                .item_img_name($_POST['NewStockID']).".jpg")) 
        {
-        // 31/08/08 - rand() call is necessary here to avoid caching problems. Thanks to Peter D.
+        // 31/08/08 - rand() call is necessary here to avoid caching problems.
                $stock_img_link .= "<img id='item_img' alt = '[".$_POST['NewStockID'].".jpg".
                        "]' src='".company_path().'/images/'.item_img_name($_POST['NewStockID']).
-                       ".jpg?nocache=".rand()."'"." height='$pic_height' border='0'>";
+                       ".jpg?nocache=".rand()."'"." height='".$SysPrefs->pic_height."' border='0'>";
                $check_remove_image = true;
        } 
        else 
@@ -459,6 +472,10 @@ if (!$stock_id)
 
 tabbed_content_start('tabs', array(
                'settings' => array(_('&General settings'), $stock_id),
+               'sales_pricing' => array(_('S&ales Pricing'), $stock_id),
+               'purchase_pricing' => array(_('&Purchasing Pricing'), $stock_id),
+               'standard_cost' => array(_('Standard &Costs'), $stock_id),
+               'reorder_level' => array(_('&Reorder Levels'), (is_inventory_item($stock_id) ? $stock_id : null)),
                'movement' => array(_('&Transactions'), $stock_id),
                'status' => array(_('&Status'), $stock_id),
        ));
@@ -466,7 +483,31 @@ tabbed_content_start('tabs', array(
        switch (get_post('_tabs_sel')) {
                default:
                case 'settings':
-                       item_settings($stock_id); 
+                       item_settings($stock_id, $new_item); 
+                       break;
+               case 'sales_pricing':
+                       $_GET['stock_id'] = $stock_id;
+                       $_GET['popup'] = 1;
+                       include_once($path_to_root."/inventory/prices.php");
+                       break;
+               case 'purchase_pricing':
+                       $_GET['stock_id'] = $stock_id;
+                       $_GET['popup'] = 1;
+                       include_once($path_to_root."/inventory/purchasing_data.php");
+                       break;
+               case 'standard_cost':
+                       $_GET['stock_id'] = $stock_id;
+                       $_GET['popup'] = 1;
+                       include_once($path_to_root."/inventory/cost_update.php");
+                       break;
+               case 'reorder_level':
+                       if (!is_inventory_item($stock_id))
+                       {
+                               break;
+                       }       
+                       $_GET['stock_id'] = $stock_id;
+                       $_GET['popup'] = 1;
+                       include_once($path_to_root."/inventory/reorder_level.php");
                        break;
                case 'movement':
                        $_GET['stock_id'] = $stock_id;
@@ -490,4 +531,3 @@ end_form();
 //------------------------------------------------------------------------------------
 
 end_page(@$_REQUEST['popup']);
-?>