# Sort Directory by name Aastra_natsort2d($directory, 'name'); # Number of records $index = count($directory); # At least one record if ($index > 0) { # Retrieve last page $last = intval($index / $MaxLines); if ($index - $last * $MaxLines != 0) { $last++; } # Display Page require_once 'AastraIPPhoneTextMenu.class.php'; $object = new AastraIPPhoneTextMenu(); $object->setDestroyOnExit(); if (Aastra_is_style_textmenu_supported()) { $object->setStyle('none'); } if (Aastra_is_textmenu_wrapitem_supported()) { $object->setWrapList(); } if ($last != 1) { $object->setTitle(sprintf(Aastra_get_label('Directory (%s/%s)', $language), $page, $last)); } else { $object->setTitle(Aastra_get_label('Directory', $language)); } if (!$nb_softkeys) { if ($page != 1) { $object->addEntry(Aastra_get_label('Previous Page', $language), $XML_SERVER . '&action=addint_grplist&page=' . ($page - 1)); } }
function output($page = NULL) { # Test phone firmware / model Aastra_test_phone_version('1.4.2.', 0); Aastra_test_phone_model(array('Aastra9112i', 'Aastra9133i'), False, 0); # Force destroyOnExit $this->_destroyOnExit = 'yes'; # Initial call? if (!isset($page)) { # Count number of entries in list $this->_count = count($this->_list); # Setup icons $this->_setupIcons(); # Setup Softkeys $this->_setupSoftKeys(); # Set Cancel URI if (!empty($this->_backCancelURL)) { parent::setCancelAction($this->_backCancelURL); } # Do some security / compliancy checks # Protect against wrap list bug in FW < R2.4.0 if (Aastra_test_phone_version('2.4.0.', 1)) { $this->_wraplist = 'no'; } if (!Aastra_is_wrap_title_supported()) { $this->_wraplist = 'no'; } if (!Aastra_is_textmenu_wrapitem_supported()) { $this->_title_wrap = 'no'; } if (!Aastra_is_style_textmenu_supported()) { $this->_style = ''; } if (!Aastra_is_lockin_supported()) { $this->_lockin = 'no'; } # Save object in user context (context = mac address) Aastra_save_user_context($this->_header['mac'], 'scrollableTextMenuData', $this); } else { # If beep is set, only beep during initial call $this->_beep = 'no'; } # Generate the actual items of the menu for the given page $this->_generatePage($page); parent::output(); }
$menu_mode = Aastra_getvar_safe('menu_mode', 'dynamic'); $selection = Aastra_getvar_safe('selection'); # Get MAC address and type of phone $header = Aastra_decode_HTTP_header(); if ($menu_user == '') { $menu_user = $header['mac']; } # Get Language $language = Aastra_get_language(); # Trace Aastra_trace_call('mymenu', 'menu_source=' . $menu_source . ', menu_user='******', menu_action=' . $menu_action . ', selection=' . $selection . ', menu_pos=' . $menu_pos . ', menu_page=' . $menu_page); # Test menu_user Agent Aastra_test_phone_version('1.4.2.', 0); # Get global compatibility $nb_softkeys = Aastra_number_softkeys_supported(); $is_style_textmenu = Aastra_is_style_textmenu_supported(); # To handle non softkey phones if ($nb_softkeys) { $MaxLines = AASTRA_MAXLINES; } else { $MaxLines = AASTRA_MAXLINES - 2; } # Update URI $XML_SERVER .= '?menu_source=' . $menu_source . '&menu_user='******'&menu_mode=' . $menu_mode; # Process menu_action switch ($menu_action) { # List menus case 'list': case 'listr': # Display MENU if (empty($menu_source) || !file_exists($menu_source . '.menu')) {
function zoom($index, $recentPage, $recentSelection) { # Find record matching the given index foreach ($this->_list as $record) { if ($record['index'] == $index) { $myrecord = $record; break; } } # Textmenu for the zoom $menu = new AastraIPPhoneTextMenu(); $menu->setDestroyOnExit(); if (Aastra_is_style_textmenu_supported()) { $menu->setStyle('none'); } if (Aastra_is_wrap_title_supported()) { $menu->setTitleWrap(); } if (Aastra_is_textmenu_wrapitem_supported()) { $menu->setWrapList(); } $menu->setTitle($myrecord['name']); # Default Index $defaultIndex = 1; if (!empty($myrecord['title'])) { $menu->addEntry($myrecord['title'], NULL, NULL); $defaultIndex++; } if (!empty($myrecord['department'])) { $menu->addEntry($myrecord['department'], NULL, NULL); $defaultIndex++; } if (!empty($myrecord['company'])) { $menu->addEntry($myrecord['company'], NULL, NULL); $defaultIndex++; } $menu->setDefaultIndex($defaultIndex); # If Dial2 softkey is supported, add 'Dial:' Prefix to URL (so number can be dialed by pressing right navigation key) if (!Aastra_test_phone_version('2.0.1.', 1)) { $URLprefix = 'Dial:'; } else { $URLprefix = ''; } # Office Number if (!empty($myrecord['office'])) { if (Aastra_is_icons_supported()) { $iconIndex = 10; $prompt = ''; } else { $iconIndex = NULL; $prompt = Aastra_get_label('(W)', $this->_language) . ' '; } if (!Aastra_test_phone_version('2.0.1.', 1)) { $menu->addEntry($prompt . $myrecord['office'], $URLprefix . $myrecord['officeDigits'], $myrecord['officeDigits'], $iconIndex, $myrecord['officeDigits']); } else { $menu->addEntry($prompt . $myrecord['office'], $URLprefix . $myrecord['officeDigits'], $myrecord['officeDigits']); } } # Office 2 number if (!empty($myrecord['office2'])) { if (Aastra_is_icons_supported()) { $iconIndex = 10; $prompt = ''; } else { $iconIndex = NULL; $prompt = Aastra_get_label('(W)', $this->_language) . ' '; } if (!Aastra_test_phone_version('2.0.1.', 1)) { $menu->addEntry($prompt . $myrecord['office2'], $URLprefix . $myrecord['office2Digits'], $myrecord['officeDigits'], $iconIndex, $myrecord['office2Digits']); } else { $menu->addEntry($prompt . $myrecord['office2'], $URLprefix . $myrecord['office2Digits'], $myrecord['officeDigits']); } } # Mobile number if (!empty($myrecord['mobile'])) { if (Aastra_is_icons_supported()) { $iconIndex = 11; $prompt = ''; } else { $iconIndex = NULL; $prompt = Aastra_get_label('(C)', $this->_language) . ' '; } if (!Aastra_test_phone_version('2.0.1.', 1)) { $menu->addEntry($prompt . $myrecord['mobile'], $URLprefix . $myrecord['mobileDigits'], $myrecord['officeDigits'], $iconIndex, $myrecord['mobileDigits']); } else { $menu->addEntry($prompt . $myrecord['mobile'], $URLprefix . $myrecord['mobileDigits'], $myrecord['officeDigits']); } } # Home number if (!empty($myrecord['home'])) { if (Aastra_is_icons_supported()) { $iconIndex = 12; $prompt = ''; } else { $iconIndex = NULL; $prompt = Aastra_get_label('(H)', $this->_language) . ' '; } if (!Aastra_test_phone_version('2.0.1.', 1)) { $menu->addEntry($prompt . $myrecord['home'], $URLprefix . $myrecord['homeDigits'], $myrecord['officeDigits'], $iconIndex, $myrecord['homeDigits']); } else { $menu->addEntry($prompt . $myrecord['home'], $URLprefix . $myrecord['homeDigits'], $myrecord['officeDigits']); } } # Softkeys if (Aastra_is_softkeys_supported()) { if (Aastra_number_softkeys_supported() != 10) { # Regular phone with 6 softkeys if (!Aastra_test_phone_version('2.0.1.', 1)) { $dialKeyType = 'SoftKey:Dial2'; } else { $dialKeyType = 'SoftKey:Dial'; } $menu->addSoftkey(1, Aastra_get_label('Dial', $this->_language), $dialKeyType); $menu->addSoftkey(3, Aastra_get_label('Back', $this->_language), $this->_scrollHandlerReference . '&listPage=' . $recentPage . '&recentSelection=' . $recentSelection); $menu->addSoftkey(6, Aastra_get_label('Exit', $this->_language), 'SoftKey:Exit'); # Check if speed dial URL is set if (isset($myrecord['speedURL'])) { $menu->addSoftkey(4, Aastra_get_label('Add to Speed Dial', $this->_language), $myrecord['speedURL']); } } else { # 6739i $menu->addSoftkey(9, Aastra_get_label('Back', $this->_language), $this->_scrollHandlerReference . '&listPage=' . $recentPage . '&recentSelection=' . $recentSelection, 8); $menu->addSoftkey(10, Aastra_get_label('Exit', $this->_language), 'SoftKey:Exit', 9); # Check if speed dial URL is set if (isset($myrecord['speedURL'])) { $menu->addSoftkey(6, Aastra_get_label('+Speed', $this->_language), $myrecord['speedURL']); } } } # Icons if (Aastra_is_icons_supported()) { if (Aastra_phone_type() != 5) { $menu->addIcon(10, Aastra_get_custom_icon('Office')); $menu->addIcon(11, Aastra_get_custom_icon('Cellphone')); $menu->addIcon(12, Aastra_get_custom_icon('Home')); } else { $menu->addIcon(8, 'Icon:ArrowLeft'); $menu->addIcon(9, 'Icon:CircleRed'); $menu->addIcon(10, 'Icon:Office'); $menu->addIcon(11, 'Icon:CellPhone'); $menu->addIcon(12, 'Icon:Home'); } } # Cancel action $menu->setCancelAction($this->_scrollHandlerReference . '&listPage=' . $recentPage . '&recentSelection=' . $recentSelection); # Display XML object $menu->output(); }