Exemple #1
0
 public function execQuery($post)
 {
     global $DB;
     $pRackItem = new PluginRacksRack_Item();
     $pRack = new PluginRacksRack();
     $query = "";
     $face = -1;
     if (isset($post['select_front_rear']) && $post['select_front_rear'] != 0) {
         $face = $post['select_front_rear'];
     }
     if (isset($post['plugin_racks_racks_id']) && $post['plugin_racks_racks_id'] != 0) {
         $restrictRackId = "   AND `" . $pRack->getTable() . "`.`id` = '" . $post['plugin_racks_racks_id'] . "'";
         $restrictRackId .= "   AND `" . $pRack->getTable() . "`.`id` = `" . $pRackItem->getTable() . "`.`plugin_racks_racks_id`";
         $leftjoin = ", `glpi_plugin_racks_racks_items` WHERE (1) " . $restrictRackId;
     } else {
         $restrictRackId = "";
         $leftjoin = "LEFT JOIN `glpi_plugin_racks_racks_items` ON (`glpi_plugin_racks_racks_items`.`plugin_racks_racks_id` = `glpi_plugin_racks_racks`.`id`)";
         $restrictRackId = "AND `glpi_plugin_racks_racks_items`.`plugin_racks_racks_id` = `glpi_plugin_racks_racks`.`id`";
     }
     switch ($face) {
         case PluginRacksRack::FRONT_FACE:
             $query = "SELECT `" . $pRackItem->getTable() . "`.* , `" . $pRack->getTable() . "`.*\r\n              FROM `" . $pRackItem->getTable() . "`,`glpi_plugin_racks_itemspecifications` , `" . $pRack->getTable() . "`\r\n              WHERE `" . $pRackItem->getTable() . "`.`plugin_racks_itemspecifications_id` = `glpi_plugin_racks_itemspecifications`.`id` " . $restrictRackId . " \r\n              AND (`" . $pRackItem->getTable() . "`.`faces_id` = '" . PluginRacksRack::FRONT_FACE . "' ) AND NOT `" . $pRack->getTable() . "`.`is_deleted`\r\n              ORDER BY `" . $pRack->getTable() . "`.`name` ASC, `" . $pRackItem->getTable() . "`.`faces_id` ASC, `" . $pRackItem->getTable() . "`.`position` DESC";
             break;
         case PluginRacksRack::BACK_FACE:
             $query = "SELECT `" . $pRackItem->getTable() . "`.* , `" . $pRack->getTable() . "`.*\r\n              FROM `" . $pRackItem->getTable() . "`,`glpi_plugin_racks_itemspecifications` , `" . $pRack->getTable() . "`\r\n              WHERE `" . $pRackItem->getTable() . "`.`plugin_racks_itemspecifications_id` = `glpi_plugin_racks_itemspecifications`.`id` " . $restrictRackId . " \r\n              AND (`" . $pRackItem->getTable() . "`.`faces_id` = '" . PluginRacksRack::BACK_FACE . "' ) AND NOT `" . $pRack->getTable() . "`.`is_deleted`\r\n              ORDER BY `" . $pRack->getTable() . "`.`name` ASC, `" . $pRackItem->getTable() . "`.`faces_id` ASC, `" . $pRackItem->getTable() . "`.`position` DESC";
             break;
         default:
             $query = "SELECT `" . $pRackItem->getTable() . "`.* , `" . $pRack->getTable() . "`.*\r\n              FROM  `" . $pRack->getTable() . "`\r\n              {$leftjoin}\r\n              AND NOT `" . $pRack->getTable() . "`.`is_deleted`\r\n              ORDER BY `" . $pRack->getTable() . "`.`name` ASC, `" . $pRackItem->getTable() . "`.`faces_id` ASC, `" . $pRackItem->getTable() . "`.`position` DESC";
             break;
     }
     $ret = array("query" => $query, "query_result" => $DB->query($query));
     return $ret;
 }