public static function initializeService($requester) { $welcomeMessage = self::$ShoppingWelcomeMessage; MessaggingController::sendMessage($requester, $welcomeMessage); $mainMenuRedirectString = self::$mainMenuRedirectString; MessaggingController::sendMessage($requester, $mainMenuRedirectString); $menu = self::$askForProductInformation; MessaggingController::sendMessage($requester, $menu); updateMessageContext(GenieConstants::searchElement(GenieConstants::$MAIN_MENU_CONTEXT, GenieConstants::$SHOPPING_MENU_CONTEXT, 'subMenu'), '1', $requester['phone']); }
public static function initializeService($requester) { self::getServiceAgent(Genie); MessaggingController::sendMessage($requester, self::$FEEDBACK_MESSAGE); updateMessageContext(GenieConstants::searchElement(GenieConstants::$MAIN_MENU_CONTEXT, GenieConstants::$FEEDBACK_MENU_CONTEXT, 'subMenu'), '1', $requester['phone']); }
static function handleMessageReceived($mynumber, $from, $id, $type, $time, $name, $body) { $number = ExtractNumber($from); $contact = getUserInfo($number); if (!$contact) { addContact($number, $name); $contact = getUserInfo($number); $main_menu = GenieConstants::searchElement(GenieConstants::$MAIN_MENU_CONTEXT, GenieConstants::$REGISTRATION_MENU_CONTEXT, 'subMenu'); setMessageContext($main_menu, NULL, $contact['phone']); } //Handle ShortCut in request $requestArray = $data = preg_split('/\\s+/', $body); if ($requestArray[0][0] == '#') { self::handleShortCuts($contact, $requestArray); return; } $context = getMessageContext($number); $callBackFunction = 'initializeService'; if ($context['main_menu'] == -1) { self::handleGeneralConversation($body, $context, $contact); return; } if ($context['main_menu'] == 0) { if (GenieConstants::searchElement(GenieConstants::$MAIN_MENU_CONTEXT, $body, 'id') != NULL) { updateMessageContext($body, NULL, $contact['phone']); PubSub::publish(GenieConstants::$MAIN_MENU_CONTEXT[$body]->menuItem, $callBackFunction, $contact); } else { MessaggingController::sendMessage($contact, GenieConstants::$INVALID_SERVICE); MessaggingController::sendMessage($contact, GenieConstants::$MAIN_MENU_STRING); } return; } if ($context['main_menu'] != 0 && $context['main_menu'] != 8 && $context['sub_menu'] == NULL) { $subMenuKey = GenieConstants::searchElement(GenieConstants::$MAIN_MENU_CONTEXT[$context['main_menu']]->subMenu, $body, 'id'); $SubMenuDict = GenieConstants::$MAIN_MENU_CONTEXT[$context['main_menu']]->subMenu; if ($subMenuKey != NULL) { updateMessageContext($context['main_menu'], $body, $contact['phone']); $callBackFunction = $SubMenuDict[$subMenuKey]->callBackMethod; PubSub::publish(GenieConstants::$MAIN_MENU_CONTEXT[$context['main_menu']]->menuItem, $callBackFunction, $contact); } else { MessaggingController::sendMessage($contact, GenieConstants::$INVALID_SERVICE); PubSub::publish(GenieConstants::$MAIN_MENU_CONTEXT[$context['main_menu']]->menuItem, $callBackFunction, $contact); } return; } else { if ($context['main_menu'] != 0 && $context['main_menu'] != 8 && $context['sub_menu'] != NULL) { $SubMenuDict = GenieConstants::$MAIN_MENU_CONTEXT[$context['main_menu']]->subMenu; $callBackFunction = $SubMenuDict[$context['sub_menu']]->requestServer; PubSub::publish(GenieConstants::$MAIN_MENU_CONTEXT[$context['main_menu']]->menuItem, $callBackFunction, $contact, $body); return; } else { if ($context['sub_menu'] != NULL) { $callBackFunction = GenieConstants::$MAIN_MENU_CONTEXT[$context['main_menu']]->subMenu[$context['sub_menu']]->callBackMethod; } else { if (GenieConstants::$MAIN_MENU_CONTEXT[$context['main_menu']]->callBackMethod != NULL) { $callBackFunction = GenieConstants::$MAIN_MENU_CONTEXT[$context['main_menu']]->callBackMethod; } } } } PubSub::publish(GenieConstants::$MAIN_MENU_CONTEXT[$context['main_menu']]->menuItem, $callBackFunction, $contact, $body); }
public static function initializeService($requester) { MessaggingController::sendMessage($requester, self::$askForMovieName); updateMessageContext(GenieConstants::searchElement(GenieConstants::$MAIN_MENU_CONTEXT, GenieConstants::$MOVIE_MENU_CONTEXT, 'subMenu'), '1', $requester['phone']); }
public static function processEmailInformation($receiver, $response) { $regex = GenieConstants::$emailRegex; if (preg_match($regex, $response) == 0) { $errorMessage = GenieConstants::$ERROR_MESSAGE; MessaggingController::sendMessage($receiver, $errorMessage); self::askForEmailInformation($receiver, $response); return; } else { updateContact(GenieConstants::$EMAIL_SUB_MENU_STRING, $response, $receiver['phone']); $menu_Context = GenieConstants::searchElement(GenieConstants::$MAIN_MENU_CONTEXT, GenieConstants::$PARENT_MENU_CONTEXT, 'subMenu'); $subMenu_Context = NULL; updateMessageContext($menu_Context, $subMenu_Context, $receiver['phone']); MessaggingController::sendMessage($receiver, GenieConstants::$INTRODUCTION); // PubSub::publish(GenieConstants::$SERVICE_REQUEST_COMPLETE,$receiver); } }