Whisk together the mayonnaise, olive oil, vinegar, honey, lime juice, red pepper flakes, oregano, and 1 teaspoon black pepper in a large bowl. Add the onion, carrot, olives, artichoke hearts, peppers, celery, and parsley; toss, and season to taste with salt. Cover with plastic wrap and allow the salad to marinate in the refrigerator for at least 1 hour.
Slice the bread in half, and pull some of the interior from the middle of the roll to make room for the other ingredients. Spread a generous amount of the olive oil salad on each half. (You will probably have some salad leftover; it holds for 2 or 3 days in the refrigerator.)
Layer the meat and cheese on the bottom half, alternating layers of each meat with thin layers of cheese. Cover with the top half of bread, press gently, slice into wedges, and serve.