$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)); } } $index = 1; foreach ($directory as $v) { if ($index >= ($page - 1) * $MaxLines + 1 and $index <= $page * $MaxLines) {
Aastra_trace_call('asterisk_csv_dir', 'action=' . $action . ', lookup=' . $lookup . ', page=' . $page . ', index=' . $index . ', lastn=' . $lastn . ', firstn=' . $firstn . ', user='******', speed=' . $speed); } else { Aastra_trace_call('csv_directory', 'action=' . $action . ', lookup=' . $lookup . ', page=' . $page . ', index=' . $index . ', lastn=' . $lastn . ', firstn=' . $firstn . ', user='******', speed=' . $speed); } # Test User Agent Aastra_test_phone_versions(array('1' => '', '2' => '1.4.2.', '3' => '2.5.3.', '4' => '2.5.3.', '5' => '3.0.1.'), '0'); # Get Language $language = Aastra_get_language(); # Get global compatibility $is_multipleinputfields = Aastra_is_multipleinputfields_supported(); $nb_softkeys = Aastra_number_softkeys_supported(); $is_icons = Aastra_is_icons_supported(); $is_lockin = Aastra_is_lockin_supported(); $is_style_textmenu = Aastra_is_style_textmenu_supported(); $is_formatted_textscreen = Aastra_is_formattedtextscreen_supported(); $is_textmenu_wrapitem = Aastra_is_textmenu_wrapitem_supported(); # Retrieve the size of the display $chars_supported = Aastra_size_display_line(); if ($is_style_textmenu) { $chars_supported--; } # To handle non softkey phones if ($nb_softkeys) { $MaxLines = AASTRA_MAXLINES; } else { $MaxLines = AASTRA_MAXLINES - 2; } # Update URI $XML_SERVER .= '?user='******'&source=' . $source . '&back=' . $back; # Get user context $ARRAY_USER = get_user_config($user);
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(); }
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(); }
//Paused Static } else { $object->addIcon(1, 'Icon:CircleRed'); $object->addIcon(2, 'Icon:CheckBoxCheck'); $object->addIcon(3, 'Icon:CircleYellow'); $object->addIcon(4, 'Icon:CircleGreen'); $object->addIcon(5, 'Icon:CircleBlue'); } } # Test the refresh if (Aastra_is_Refresh_supported()) { $object->setRefresh('10', $XML_SERVER . '&action=refresh&page=' . $page . '&menu_set=' . $menu_set); $new = $object->generate(); } else { $refresh = 1; if ($nb_softkeys and Aastra_is_textmenu_wrapitem_supported()) { if ($nb_softkeys == 10) { $object->addSoftkey(9, Aastra_get_label('Refresh', $language), $XML_SERVER . '&page=' . $page); } } } # Test refresh if ($refresh == 0) { $old = @file_get_contents(AASTRA_PATH_CACHE . $header['mac'] . '.agent'); if ($new != $old) { $refresh = 1; } } # Save last screen $stream = @fopen(AASTRA_PATH_CACHE . $header['mac'] . '.agent', 'w'); @fwrite($stream, $new);