function displayComponentDescription($component_id_in)
{
    global $tables;
    $query = "SELECT description FROM " . $tables['components'] . " WHERE id=" . $component_id_in;
    $result = mysqlGetSingleValue($query);
    return $result;
}
Exemple #2
0
function displayClassForm($name_in, $required_in = null)
{
    if (!isset($required_in)) {
        $required_in = 0;
        createClass($name_in, 0, 0);
        $query = "SELECT id FROM class WHERE name='" . $name_in . "'";
        $_GET['edit_class'] = mysqlGetSingleValue($query);
    }
    ?>
		<form method="post" action='index.php'>
		<input type='hidden' name='submitted' value='1' />
	<?php 
    if (isset($required_in)) {
        echo "<input type='hidden' name='next_page' value='6' />";
        echo "<input type='hidden' name='id' value='" . $_GET['edit_class'] . "' />";
    }
    echo "Class Name:<input type='text' name='name' value='{$name_in}' /><br/>";
    //echo "Required?<input type='checkbox' name='required' ".(($required_in == 1)?"checked":"")." /><br/>";
    echo "<br/><br/>";
    global $tables;
    $database = connectToDatabase();
    if ($database) {
        $result_array = mysql_fetch_array(mysqlQuery("SELECT id,priority FROM " . $tables['classes'] . " WHERE name='" . $name_in . "'", $database));
        $priority = $result_array['priority'];
        $id = $result_array['id'];
        $query = "SELECT id,name FROM " . $tables['classes'] . " WHERE priority<'" . $priority . "' ORDER BY priority";
        $result = mysqlQuery($query, $database);
        if (!mysql_error() && mysql_num_rows($result) > 0) {
            $num_rows = mysql_num_rows($result);
            echo "<span class='dependability'>Dependabilities</span><br/>";
            for ($row = 0; $row < $num_rows; $row++) {
                $result_array = mysql_fetch_array($result);
                if (isset($required_in)) {
                    $query_2 = "SELECT id FROM " . $tables['dependabilities'] . " WHERE dependent_id=" . $id . " AND independent_id=" . $result_array['id'];
                    $result_2 = mysqlQuery($query_2, $database);
                    if (mysql_num_rows($result_2) > 0) {
                        echo $result_array['name'] . "<input type='checkbox' name='dependability[]' value='" . $result_array['id'] . "' checked /><br/>";
                    } else {
                        echo $result_array['name'] . "<input type='checkbox' name='dependability[]' value='" . $result_array['id'] . "' /><br/>";
                    }
                } else {
                    echo $result_array['name'] . "<input type='checkbox' name='dependability[]' value='" . $result_array['id'] . "' /><br/>";
                }
            }
        }
    }
    ?>
		<input type='submit' value='Submit' />
		</form>
	<?php 
}
require_once 'utilities.php';
require_once 'header.php';
require_once 'login.php';
require_once 'customer_functions.php';
$_GET = array_map('mysql_real_escape_string', $_GET);
$_POST = array_map('mysql_real_escape_string', $_POST);
if (isLoggedIn()) {
    global $tables;
    if ($_POST['CS']) {
        createNewOrderline($_POST['order_id']);
        setup();
    } else {
        if ($_POST['submit'] && is_numeric($_POST['configuration_system_name'])) {
            $database = connectToDatabase();
            $query = "SELECT " . $tables['classes'] . ".id FROM " . $tables['components'] . " JOIN ( " . $tables['classes'] . ", " . $tables['families'] . " ) ON ( " . $tables['components'] . ".family_id=" . $tables['families'] . ".id AND " . $tables['families'] . ".class_id=" . $tables['classes'] . ".id ) WHERE " . $tables['components'] . ".id=" . $_POST['configuration_system_name'];
            $class_id = mysqlGetSingleValue($query, $database);
            $query = "SELECT " . $tables['selectedcomponents'] . ".id FROM " . $tables['selectedcomponents'] . " JOIN ( " . $tables['orderlines'] . ", " . $tables['components'] . ", " . $tables['families'] . ", " . $tables['classes'] . " ) ON ( " . $tables['selectedcomponents'] . ".orderline_id=" . $tables['orderlines'] . ".id AND " . $tables['components'] . ".id=" . $tables['selectedcomponents'] . ".component_id AND " . $tables['families'] . ".id=" . $tables['components'] . ".family_id AND " . $tables['classes'] . ".id=" . $tables['families'] . ".class_id ) WHERE " . $tables['orderlines'] . ".id=" . $_POST['orderline_id'] . " AND " . $tables['classes'] . ".id=" . $class_id;
            $result = mysqlQuery($query, $database);
            if (mysql_num_rows($result) > 0) {
                $result_array = mysql_fetch_array($result);
                $query = "UPDATE " . $tables['selectedcomponents'] . " SET component_id=" . $_POST['configuration_system_name'] . " WHERE " . $tables['selectedcomponents'] . ".id=" . $result_array[0] . " LIMIT 1";
            } else {
                $query = "INSERT INTO " . $tables['selectedcomponents'] . " VALUES ( NULL, " . $_POST['configuration_system_name'] . ", " . $_POST['orderline_id'] . ", 0 )";
            }
            mysqlQuery($query, $database);
            updateFlags($class_id, $database);
            if ($_GET['finished']) {
                redirect($_GET['finished']);
            } else {
                if ($_POST['finished']) {
                    redirect($_POST['finished']);
function updateFlags($class_id_in, $database)
{
    setIncompatibleFlag($_POST['orderline_id'], $_POST['configuration_system_name'], 0);
    $database = connectToDatabase();
    $query = "SELECT component.id\r\n                FROM orderline\r\n                JOIN ( selectedcomponent, component, family, class )\r\n                ON ( selectedcomponent.component_id=component.id\r\n                    AND orderline.id=selectedcomponent.orderline_id\r\n                    AND component.family_id=family.id\r\n                    AND family.class_id=class.id)\r\n                WHERE orderline.id=" . $_POST['orderline_id'] . "\r\n                    AND class.id\r\n                        IN (\r\n                            SELECT dependent_id\r\n                            FROM dependability\r\n                            WHERE independent_id=" . $class_id_in . ") ";
    //AND selectedcomponent.flag=0
    $result = mysqlQuery($query, $database);
    $rows = mysql_num_rows($result);
    //debug( "THIS COMPONENT", $_POST['configuration_system_name'] );
    if (mysql_num_rows($result) >= 1) {
        while ($result_array = mysql_fetch_array($result)) {
            $query_2 = "SELECT component_id FROM familycompatibility WHERE family_id=(SELECT family_id FROM component WHERE id=" . $result_array[0] . " LIMIT 1)";
            //debug( "query_2", $query_2 );
            $result_2 = mysqlQuery($query_2, $database);
            $families = array();
            while ($result_array_2 = mysql_fetch_array($result_2)) {
                $families[] = $result_array_2[0];
            }
            // debugArray( "families", $families );
            $component_id = $result_array[0];
            //debug( "component_id", $component_id );
            if (mysql_num_rows($result_2) < 1) {
                setIncompatibleFlag($_POST['orderline_id'], $component_id, 1);
                //debug( "flag1", $component_id );
                continue;
            }
            //$query_3 = "SELECT family_id FROM component WHERE id=".$component_id;
            //$family_id = mysqlGetSingleValue( $query_3, $database );
            if (!in_array($_POST['configuration_system_name'], $families)) {
                setIncompatibleFlag($_POST['orderline_id'], $component_id, 1);
                //debug( "flag2", $component_id );
                continue;
            }
            $query_4 = "SELECT id FROM componentnoncompatibility WHERE component_id=" . $component_id . " AND noncompatible_component_id=" . $_POST['configuration_system_name'];
            $result_4 = mysqlQuery($query_4, $database);
            if (mysql_num_rows($result_4) > 0) {
                setIncompatibleFlag($_POST['orderline_id'], $component_id, 1);
                //debug( "flag3", $component_id );
                continue;
            }
            //setIncompatibleFlag( $_POST['orderline_id'], $component_id, 0 );
            //debug( "unflag", $component_id );
            $query_99 = "SELECT component.id\r\n                FROM orderline\r\n                JOIN ( selectedcomponent, component, family, class )\r\n                ON ( selectedcomponent.component_id=component.id\r\n                    AND orderline.id=selectedcomponent.orderline_id\r\n                    AND component.family_id=family.id\r\n                    AND family.class_id=class.id)\r\n                WHERE orderline.id=" . $_POST['orderline_id'] . "\r\n                    AND class.id\r\n                        IN (\r\n                            SELECT independent_id\r\n                            FROM dependability\r\n                            WHERE dependent_id=(SELECT class_id FROM family WHERE id=(SELECT family_id FROM component WHERE id=" . $component_id . ")))";
            //debug( "query_99", $query_99 );
            $result_99 = mysqlQuery($query_99, $database);
            if (mysql_num_rows($result_99) >= 1) {
                $good = 1;
                while ($result_array_99 = mysql_fetch_array($result_99)) {
                    $query_21 = "SELECT family_id FROM familycompatibility WHERE component_id=" . $result_array_99[0];
                    //debug( "query_21", $query_21 );
                    $result_21 = mysqlQuery($query_21, $database);
                    $families = array();
                    while ($result_array_21 = mysql_fetch_array($result_21)) {
                        $families[] = $result_array_21[0];
                    }
                    $component_id1 = $result_array_99[0];
                    //debug( "component_id", $component_id1 );
                    if (mysql_num_rows($result_21) < 1) {
                        //debug( "ungood1" );
                        $good = 0;
                        continue;
                    }
                    //$query_3 = "SELECT family_id FROM component WHERE id=".$component_id;
                    //$family_id = mysqlGetSingleValue( $query_3, $database );
                    $query_98 = "SELECT family_id FROM component WHERE id=" . $component_id;
                    $family = mysqlGetSingleValue($query_98, $database);
                    //debugArray( "families", $families );
                    //debug( "family", $family );
                    if (!in_array($family, $families)) {
                        //debug( "ungood2" );
                        $good = 0;
                        continue;
                    }
                    $query_41 = "SELECT id FROM componentnoncompatibility WHERE component_id=" . $component_id1 . " AND noncompatible_component_id=" . $component_id;
                    $result_41 = mysqlQuery($query_41, $database);
                    if (mysql_num_rows($result_41) > 0) {
                        //debug( "ungood3" );
                        //setIncompatibleFlag( $_POST['orderline_id'], $component_id, 1 );
                        $good = 0;
                        continue;
                    }
                }
                //unflag if all while loops are successful
                if ($good == 1) {
                    setIncompatibleFlag($_POST['orderline_id'], $component_id, 0);
                    //debug( "unflag99", $component_id );
                } else {
                    setIncompatibleFlag($_POST['orderline_id'], $component_id, 1);
                    //debug( "flag99", $component_id );
                }
            }
        }
    }
}