diff --git a/include/library/Crunchbutton/Order.php b/include/library/Crunchbutton/Order.php index 7ffc7a8dc..a0aa8531d 100644 --- a/include/library/Crunchbutton/Order.php +++ b/include/library/Crunchbutton/Order.php @@ -1414,37 +1414,96 @@ class Crunchbutton_Order extends Cana_Table { $options = i::o($options); } - if ($options->count()) { - $foodItem .= ' '.$with.' '; + // driver dumbphone tweaks #2673 + if( $type == 'sms-driver' ){ + $withOptions = ''; + $selectOptions = ''; - foreach ($dish->options() as $option) { - if ($option->option()->type == 'select') { - continue; + if ($options->count()) { + + foreach ($dish->options() as $option) { + if ($option->option()->type == 'select') { + continue; + } + + if($option->option()->id_option_parent) { + $optionGroup = Crunchbutton_Option::o($option->option()->id_option_parent); + $selectOptions .= trim( $optionGroup->name ) . ': '; + $selectOptions .= trim( $option->option()->name ) . ', '; + } else { + if( $withOptions == '' ){ + $withOptions .= 'With: '; + } + $withOptions .= trim( $option->option()->name ) . ', '; + } + } + $withOptions = substr( $withOptions, 0, -2 ); + $selectOptions = substr( $selectOptions, 0, -2 ); + } + $withoutDefaultOptions = ''; + if( $dish->id_order_dish && $dish->id_dish ){ + $optionsNotChoosen = $dish->optionsDefaultNotChoosen(); + $commas = ' '; + if( $optionsNotChoosen->count() ){ + foreach( $optionsNotChoosen as $dish_option ){ + $withoutDefaultOptions .= $commas . 'No ' . trim( $dish_option->option()->name ); + $commas = ', '; + } + } } - $foodItem .= preg_replace($pFind, $pReplace, $option->option()->name).$space.' '; - } - $foodItem = substr($foodItem, 0, -2); - } - $withoutDefaultOptions = ''; + if ( $withOptions != '' || $withoutDefaultOptions != '' || $selectOptions != '' ) { + $foodItem .= ': '; + } - if( $dish->id_order_dish && $dish->id_dish ){ - $optionsNotChoosen = $dish->optionsDefaultNotChoosen(); - $commas = ' '; - if( $optionsNotChoosen->count() ){ - foreach( $optionsNotChoosen as $dish_option ){ - $withoutDefaultOptions .= $commas . 'No ' . $dish_option->option()->name; - $commas = $space . ' '; + if( $withOptions != '' ){ + $withOptions .= '. '; + } + + if( $withoutDefaultOptions != '' ){ + $withoutDefaultOptions .= '. '; + } + + if( $selectOptions != '' ){ + $selectOptions .= '. '; + } + + $foodItem .= $withoutDefaultOptions; + $foodItem .= $withOptions; + $foodItem .= $selectOptions; + } else { + if ($options->count()) { + $foodItem .= ' '.$with.' '; + + foreach ($dish->options() as $option) { + if ($option->option()->type == 'select') { + continue; + } + $foodItem .= preg_replace($pFind, $pReplace, $option->option()->name).$space.' '; + } + $foodItem = substr($foodItem, 0, -2); + } + + $withoutDefaultOptions = ''; + + if( $dish->id_order_dish && $dish->id_dish ){ + $optionsNotChoosen = $dish->optionsDefaultNotChoosen(); + $commas = ' '; + if( $optionsNotChoosen->count() ){ + foreach( $optionsNotChoosen as $dish_option ){ + $withoutDefaultOptions .= $commas . 'No ' . $dish_option->option()->name; + $commas = $space . ' '; + } } } - } - if ( $options->count() && $withoutDefaultOptions != '' ) { - $foodItem .= $space; - } + if ( $options->count() && $withoutDefaultOptions != '' ) { + $foodItem .= $space; + } - $withoutDefaultOptions .= '.'; - $foodItem .= $withoutDefaultOptions; + $withoutDefaultOptions .= '.'; + $foodItem .= $withoutDefaultOptions; + } if ($type == 'phone') { $foodItem .= ']]>