$log = new Log($database);
    $current_user = new User($database, $current_user, $log, 1);
    // admin
} catch (Exception $e) {
    $messages[] = array('text' => nl2br($e->getMessage()), 'strong' => true, 'color' => 'red');
    $fatal_error = true;
}
/********************************************************************************
 *
 *   Generate Table
 *
 *********************************************************************************/
if (!$fatal_error) {
    try {
        $parts = Part::get_noprice_parts($database, $current_user, $log);
        $table_loop = Part::build_template_table_array($parts, 'noprice_parts');
        $html->set_loop('table', $table_loop);
    } catch (Exception $e) {
        $messages[] = array('text' => nl2br($e->getMessage()), 'strong' => true, 'color' => 'red');
        $fatal_error = true;
    }
}
/********************************************************************************
 *
 *   Set the rest of the HTML variables
 *
 *********************************************************************************/
$html->use_javascript(array('popup'));
if (!$fatal_error) {
    // global stuff
    $html->set_variable('disable_footprints', $config['footprints']['disable'], 'boolean');
    $messages[] = array('text' => nl2br($e->getMessage()), 'strong' => true, 'color' => 'red');
    $fatal_error = true;
}
/********************************************************************************
 *
 *   Execute actions
 *
 *********************************************************************************/
if (!$fatal_error) {
    switch ($action) {
        case 'show_searched_parts':
            // show the search results for adding parts to this device
            try {
                // search parts by name and description
                $searched_parts = Part::search_parts($database, $current_user, $log, $new_part_name, '', true, true, false, false, false, false, false, false);
                $searched_parts_loop = Part::build_template_table_array($searched_parts, 'searched_device_parts');
                $html->set_variable('searched_parts_rowcount', count($searched_parts), 'integer');
                $html->set_variable('no_searched_parts_found', count($searched_parts) == 0, 'integer');
            } catch (Exception $e) {
                $messages[] = array('text' => nl2br($e->getMessage()), 'strong' => true, 'color' => 'red');
            }
            break;
        case 'assign_by_selected':
            // add some parts (which were listed by part search) to this device
            for ($i = 0; $i < $searched_parts_rowcount; $i++) {
                $part_id = isset($_REQUEST['id_' . $i]) ? (int) $_REQUEST['id_' . $i] : 0;
                $quantity = isset($_REQUEST['quantity_' . $i]) ? abs((int) $_REQUEST['quantity_' . $i]) : 0;
                $mountname = isset($_REQUEST['mountnames_' . $i]) ? trim((string) $_REQUEST['mountnames_' . $i]) : '';
                if ($quantity > 0) {
                    try {
                        // if there is already such Part in this Device, the quantity will be increased
        $header .= '&search_manufacturer=1';
    }
    header($header);
}
/********************************************************************************
 *
 *   Generate Table
 *
 *********************************************************************************/
if (!$fatal_error) {
    try {
        $category_parts = Part::search_parts($database, $current_user, $log, $keyword, 'categories', $search_name, $search_description, $search_comment, $search_footprint, $search_category, $search_storelocation, $search_supplier, $search_supplierpartnr, $search_manufacturer);
        $hits_count = count($category_parts, COUNT_RECURSIVE) - count($category_parts);
        $parts_table_loops = array();
        foreach ($category_parts as $category_full_path => $parts) {
            $parts_table_loops[$category_full_path] = Part::build_template_table_array($parts, 'search_parts');
        }
    } catch (Exception $e) {
        $messages[] = array('text' => nl2br($e->getMessage()), 'strong' => true, 'color' => 'red');
        $fatal_error = true;
    }
}
/********************************************************************************
 *
 *   Set the rest of the HTML variables
 *
 *********************************************************************************/
$html->use_javascript(array('popup'));
$html->set_variable('keyword', $keyword, 'string');
$html->set_variable('hits_count', isset($hits_count) ? $hits_count : 0, 'integer');
$html->set_variable('search_name', $search_name, 'boolean');
            break;
    }
}
if (isset($reload_site) && $reload_site && !$config['debug']['request_debugging_enable']) {
    // reload the site to avoid multiple actions by manual refreshing
    header('Location: show_obsolete_parts.php?show_no_orderdetails_parts=' . ($show_no_orderdetails_parts ? '1' : '0'));
}
/********************************************************************************
 *
 *   Generate Table
 *
 *********************************************************************************/
if (!$fatal_error) {
    try {
        $parts = Part::get_obsolete_parts($database, $current_user, $log, $show_no_orderdetails_parts);
        $table_loop = Part::build_template_table_array($parts, 'obsolete_parts');
        $html->set_loop('table', $table_loop);
    } catch (Exception $e) {
        $messages[] = array('text' => nl2br($e->getMessage()), 'strong' => true, 'color' => 'red');
        $fatal_error = true;
    }
}
/********************************************************************************
 *
 *   Set the rest of the HTML variables
 *
 *********************************************************************************/
$html->use_javascript(array('popup'));
if (!$fatal_error) {
    // obsolete parts
    $html->set_variable('show_no_orderdetails_parts', $show_no_orderdetails_parts, 'boolean');
 /**
  * @copydoc Part::build_template_table_array()
  */
 public static function build_template_table_array($parts, $table_type)
 {
     return Part::build_template_table_array($parts, $table_type);
 }
if (!$fatal_error) {
    try {
        if ($selected_supplier_id > 0) {
            $parts = Part::get_order_parts($database, $current_user, $log, array($selected_supplier_id));
        } else {
            $parts = Part::get_order_parts($database, $current_user, $log);
        }
        // parts from ALL suppliers
        $sum_price = 0;
        foreach ($parts as $part) {
            $orderdetails = $part->get_order_orderdetails();
            if (is_object($orderdetails)) {
                $sum_price += $orderdetails->get_price(false, $part->get_order_quantity());
            }
        }
        $table_loop = Part::build_template_table_array($parts, 'order_parts');
        $html->set_loop('table', $table_loop);
        $html->set_variable('table_rowcount', count($parts), 'integer');
        $html->set_variable('sum_price', float_to_money_string($sum_price), 'string');
    } catch (Exception $e) {
        $messages[] = array('text' => nl2br($e->getMessage()), 'strong' => true, 'color' => 'red');
        $fatal_error = true;
    }
}
/********************************************************************************
 *
 *   Generate "Devices to order"-Table
 *
 *********************************************************************************/
if (!$fatal_error) {
    try {
Exemple #7
0
    $html->set_variable('disable_manufacturers', $config['manufacturers']['disable'], 'boolean');
    $html->set_variable('disable_auto_datasheets', $config['auto_datasheets']['disable'], 'boolean');
    $html->set_variable('use_modal_popup', $config['popup']['modal'], 'boolean');
    $html->set_variable('popup_width', $config['popup']['width'], 'integer');
    $html->set_variable('popup_height', $config['popup']['height'], 'integer');
    // import stuff
    $html->set_variable('file_format', $file_format, 'string');
    $html->set_variable('separator', $separator, 'string');
    $csv_file_example = file_get_contents(BASE . '/documentation/examples/import_parts/import_parts.csv');
    $html->set_variable('csv_file_example', $csv_file_example, 'string');
    $xml_file_example = file_get_contents(BASE . '/documentation/examples/import_parts/import_parts.xml');
    $html->set_variable('xml_file_example', $xml_file_example, 'string');
    $html->set_variable('file_content', $file_content, 'string');
    try {
        if (isset($new_parts)) {
            $new_parts_loop = Part::build_template_table_array($new_parts, 'imported_parts');
        }
    } catch (Exception $e) {
        $messages[] = array('text' => nl2br($e->getMessage()), 'strong' => true, 'color' => 'red');
    }
}
/********************************************************************************
 *
 *   Generate HTML Output
 *
 *********************************************************************************/
$html->print_header($messages);
if (!$fatal_error) {
    $html->print_template('upload');
    if (isset($import_data)) {
        $html->set_loop('table', $table_loop);