request([ 'FROM' => self::getTable(), 'WHERE' => [ 'itemtype_source' => $input['itemtype_source'], 'items_id_source' => $input['items_id_source'], 'itemtype_impacted' => $input['itemtype_impacted'], 'items_id_impacted' => $input['items_id_impacted'] ] ]); if (count($it)) { return false; } // Check if source and impacted are valid objets $source_exist = Impact::assetExist( $input['itemtype_source'], $input['items_id_source'] ); $impacted_exist = Impact::assetExist( $input['itemtype_impacted'], $input['items_id_impacted'] ); if (!$source_exist || !$impacted_exist) { return false; } return $input; } /** * Get an impact id from an input form * * @param array $input Array containing the impact to be deleted * @param array $options * @param bool $history * * @return bool false on failure */ public static function getIDFromInput(array $input) { global $DB; // Check that the link exist $it = $DB->request([ 'FROM' => self::getTable(), 'WHERE' => [ 'itemtype_source' => $input['itemtype_source'], 'items_id_source' => $input['items_id_source'], 'itemtype_impacted' => $input['itemtype_impacted'], 'items_id_impacted' => $input['items_id_impacted'] ] ]); if (count($it)) { return $it->next()['id']; } return false; } }