[commit] r12618 - in freeswitch/trunk/scripts/contrib/swk: flex/amf-test1/bin-debug flex/amf-test1/libs flex/amf-test1/src flex/amf-test1/src/assets flex/amf-test1/src/assets/css flex/amf-test1/src/assets/fonts flex/amf-test1/src/assets/icons flex/amf-test1/src/assets/images flex/amf-test1/src/assets/skins flex/amf-test1/src/assets/xml flex/amf-test1/src/com flex/amf-test1/src/com/views php/amfphp
Author: silik0n Date: Mon Mar 16 06:33:34 2009 New Revision: 12618 Log: look for a tarball soon Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/libs/CSSPlus.swc (contents, props changed) freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/libs/Degrafa_.2.11.swc (contents, props changed) freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/ freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/css/ freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/css/Main.css freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/fonts/ freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/fonts/lucidaGrande.swf (contents, props changed) freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/icons/ freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/icons/ai.jpg (contents, props changed) freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/icons/air.jpg (contents, props changed) freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/icons/fl.jpg (contents, props changed) freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/icons/fw.jpg (contents, props changed) freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/icons/fx.jpg (contents, props changed) freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/icons/ps.jpg (contents, props changed) freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/ freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/button_bar_left.png (contents, props changed) freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/button_bar_left_disabled.png (contents, props changed) freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/button_bar_left_selected.png (contents, props changed) freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/button_bar_middle.png (contents, props changed) freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/button_bar_middle_disabled.png (contents, props changed) freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/button_bar_middle_selected.png (contents, props changed) freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/button_bar_right.png (contents, props changed) freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/button_bar_right_disabled.png (contents, props changed) freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/button_bar_right_selected.png (contents, props changed) freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/checkBox_over.png (contents, props changed) freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/checkBox_selected.png (contents, props changed) freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/checkBox_up.png (contents, props changed) freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/comboBox_over.png (contents, props changed) freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/comboBox_up.png (contents, props changed) freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/glass_btn_disable.png (contents, props changed) freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/glass_btn_over.png (contents, props changed) freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/glass_btn_up.png (contents, props changed) freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/header_bg.png (contents, props changed) freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/main_bg.png (contents, props changed) freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/panel_bg.png (contents, props changed) freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/radio_over.png (contents, props changed) freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/radio_selected.png (contents, props changed) freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/radio_up.png (contents, props changed) freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/scroll_arrow_down_over.png (contents, props changed) freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/scroll_arrow_down_up.png (contents, props changed) freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/scroll_arrow_up_over.png (contents, props changed) freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/scroll_arrow_up_up.png (contents, props changed) freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/search_input.png (contents, props changed) freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/slider_thumb_up.png (contents, props changed) freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/tab.png (contents, props changed) freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/tab_first.png (contents, props changed) freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/tab_first_over.png (contents, props changed) freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/tab_first_selected.png (contents, props changed) freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/tab_last.png (contents, props changed) freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/tab_last_over.png (contents, props changed) freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/tab_last_selected.png (contents, props changed) freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/tab_middle.png (contents, props changed) freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/tab_middle_over.png (contents, props changed) freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/tab_middle_selected.png (contents, props changed) freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/tab_selected.png (contents, props changed) freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/thum_skin.png (contents, props changed) freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/track_skin.png (contents, props changed) freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/tree_folder.png (contents, props changed) freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/tree_folder_open.png (contents, props changed) freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/skins/ freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/skins/BaseSkin.as freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/skins/PanelBackgroundSkin.mxml freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/skins/PanelContentSkin.mxml freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/skins/SmartPanelSkin.as freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/xml/ freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/xml/listData.xml freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/com/ freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/com/SampleTitleWindow.mxml freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/com/views/ freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/com/views/Controls.mxml freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/com/views/List2.mxml freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/com/views/Lists.mxml freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/com/views/Navigation.mxml freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/com/views/Text.mxml freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/newGroupForm.mxml Modified: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/bin-debug/main.swf freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/main.mxml freeswitch/trunk/scripts/contrib/swk/php/amfphp/freeswitch.php Modified: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/bin-debug/main.swf ============================================================================== Binary files. No diff available. Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/libs/CSSPlus.swc ============================================================================== Binary file. No diff available. Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/libs/Degrafa_.2.11.swc ============================================================================== Binary file. No diff available. Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/css/Main.css ============================================================================== --- (empty file) +++ freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/css/Main.css Mon Mar 16 06:33:34 2009 @@ -0,0 +1,325 @@ +/* CSS file */ +Application +{ + backgroundColor:#f9f6d9; + borderSkin: ClassReference("com.degrafa.skins.CSSSkin"); + background-repeat:repeat; + background-image: Embed(source='assets/images/main_bg.png'); + fontFamily: "Lucida Grande"; + color: #000000; + fontSize: 12; + themeColor:#288bca; +} +MenuBar +{ + background-skin: ClassReference("com.degrafa.skins.CSSSkin"); + background-image: Embed(source='assets/images/header_bg.png'); + background-repeat:repeat-x; + menuStyleName: menuStyleName; + selectionColor:#4385d9; + rollOverColor:#4385d9; + textRollOverColor:#ffffff; + textSelectedColor:#ffffff; +} + +.menuStyleName +{ + +} +Panel{ + titleStyleName: "panelTitle"; + contentStyleName: contentStyleName; + headerHeight:35; + + border-skin:ClassReference("assets.skins.SmartPanelSkin"); + background-skin: ClassReference("assets.skins.PanelBackgroundSkin"); + backgroundRepeat:repeat; + border-background-image:Embed(source='assets/images/panel_bg.png'); + cornerRadius:8; + bottomCornerRadius: 3; + filters:dropShadow; + borderColor:#dddddd; + border-style: none; + paddingTop:20; + paddingLeft:20; + paddingRight:20; + paddingBottom:20; +} +.panelTitle{ + textAlign:center; + fontSize:13; +} +.contentStyleName +{ + skin: ClassReference("assets.skins.PanelContentSkin"); + filters: contentDropShadow; + cornerRadius: 0; +} + +Alert +{ + color:#333333; + paddingBottom: 10; +} +Button +{ + upSkin:Embed(source='assets/images/glass_btn_up.png', scaleGridLeft=10, scaleGridRight=11, scaleGridTop=10,scaleGridBottom=11); + downSkin:Embed(source='assets/images/glass_btn_over.png', scaleGridLeft=10, scaleGridRight=11, scaleGridTop=10,scaleGridBottom=11); + overSkin:Embed(source='assets/images/glass_btn_over.png', scaleGridLeft=10, scaleGridRight=11, scaleGridTop=10,scaleGridBottom=11); + selectedUpSkin:Embed(source='assets/images/glass_btn_over.png', scaleGridLeft=10, scaleGridRight=11, scaleGridTop=10,scaleGridBottom=11); + selectedOverSkin:Embed(source='assets/images/glass_btn_over.png', scaleGridLeft=10, scaleGridRight=11, scaleGridTop=10,scaleGridBottom=11); + disabledSkin:Embed(source='assets/images/glass_btn_disable.png', scaleGridLeft=10, scaleGridRight=11, scaleGridTop=10,scaleGridBottom=11); + color:#000000; + textRollOverColor:#000000; +} + + +ScrollBar{ + trackSkin:Embed(source='assets/images/track_skin.png'); + thumbUpSkin:Embed(source='assets/images/thum_skin.png', scaleGridLeft=8, scaleGridRight=9, scaleGridTop=11,scaleGridBottom=12); + thumbOverSkin:Embed(source='assets/images/thum_skin.png', scaleGridLeft=8, scaleGridRight=9, scaleGridTop=11,scaleGridBottom=12); + thumbDownSkin:Embed(source='assets/images/thum_skin.png', scaleGridLeft=8, scaleGridRight=9, scaleGridTop=11,scaleGridBottom=12); + upArrowUpSkin:Embed(source='assets/images/scroll_arrow_up_up.png'); + upArrowDownSkin:Embed(source='assets/images/scroll_arrow_up_over.png'); + upArrowOverSkin:Embed(source='assets/images/scroll_arrow_up_over.png'); + downArrowUpSkin:Embed(source='assets/images/scroll_arrow_down_up.png'); + downArrowDownSkin:Embed(source='assets/images/scroll_arrow_down_over.png'); + downArrowOverSkin:Embed(source='assets/images/scroll_arrow_down_over.png'); +} + +DataGrid{ + headerColors:#7ab8ef,#c6fdff; + selectionColor:#4385d9; + rollOverColor:#4385d9; + textRollOverColor:#ffffff; + textSelectedColor:#ffffff; +} +.searchInput{ + borderSkin:Embed(source='assets/images/search_input.png', scaleGridLeft=22, scaleGridRight=65, scaleGridTop=18,scaleGridBottom=19); + cornerRadius:12; + textIndent:18; + fontSize:12; + fontFamily:Verdana; + borderThikness:1; + borderStyle:solid; +} +TabNavigator, TabBar +{ + tabStyleName: tabStyleName; + firstTabStyleName: firstTab; + lastTabStyleName: lastTab; + fontSize: 12; +} +.tabStyleName +{ + upSkin:Embed(source='assets/images/tab_middle.png', scaleGridLeft=9, scaleGridRight=37, scaleGridTop=13,scaleGridBottom=14); + downSkin: Embed(source='assets/images/tab_middle_over.png', + scaleGridLeft=9, scaleGridRight=37, scaleGridTop=13,scaleGridBottom=14); + overSkin: Embed(source='assets/images/tab_middle_over.png', + scaleGridLeft=9, scaleGridRight=37, scaleGridTop=13,scaleGridBottom=14); + selectedUpSkin: Embed(source='assets/images/tab_middle_selected.png', + scaleGridLeft=9, scaleGridRight=37, scaleGridTop=13,scaleGridBottom=14); + selectedOverSkin: Embed(source='assets/images/tab_middle_selected.png', + scaleGridLeft=9, scaleGridRight=37, scaleGridTop=13,scaleGridBottom=14); + paddingBottom: 3; + paddingTop: 5; + paddingLeft: 9; + paddingRight: 9; +} + +.firstTab { + upSkin:Embed(source='assets/images/tab_first.png', scaleGridLeft=9, scaleGridRight=37, scaleGridTop=13,scaleGridBottom=14); + downSkin:Embed(source='assets/images/tab_first_over.png', + scaleGridLeft=9, scaleGridRight=37, scaleGridTop=13,scaleGridBottom=14); + overSkin:Embed(source='assets/images/tab_first_over.png', + scaleGridLeft=9, scaleGridRight=37, scaleGridTop=13,scaleGridBottom=14); + selectedUpSkin:Embed(source='assets/images/tab_first_selected.png', + scaleGridLeft=9, scaleGridRight=37, scaleGridTop=13,scaleGridBottom=14); + selectedOverSkin:Embed(source='assets/images/tab_first_selected.png', + scaleGridLeft=9, scaleGridRight=37, scaleGridTop=13,scaleGridBottom=14); + paddingBottom: 3; + paddingTop: 5; + paddingLeft: 9; + paddingRight: 9; +} + +.lastTab { + upSkin:Embed(source='assets/images/tab_last.png', scaleGridLeft=9, scaleGridRight=37, scaleGridTop=13,scaleGridBottom=14); + downSkin:Embed(source='assets/images/tab_last_over.png', + scaleGridLeft=9, scaleGridRight=37, scaleGridTop=13,scaleGridBottom=14); + overSkin:Embed(source='assets/images/tab_last_over.png', + scaleGridLeft=9, scaleGridRight=37, scaleGridTop=13,scaleGridBottom=14); + selectedUpSkin:Embed(source='assets/images/tab_last_selected.png', + scaleGridLeft=9, scaleGridRight=37, scaleGridTop=13,scaleGridBottom=14); + selectedOverSkin:Embed(source='assets/images/tab_last_selected.png', + scaleGridLeft=9, scaleGridRight=37, scaleGridTop=13,scaleGridBottom=14); + paddingBottom: 3; + paddingTop: 5; + paddingLeft: 9; + paddingRight: 9; +} + +RadioButton +{ + upIcon: Embed(source='assets/images/radio_up.png'); + downIcon:Embed(source='assets/images/radio_over.png'); + overIcon:Embed(source='assets/images/radio_over.png'); + selectedUpIcon:Embed(source='assets/images/radio_selected.png'); + selectedOverIcon:Embed(source='assets/images/radio_selected.png'); + selectedDownIcon:Embed(source='assets/images/radio_selected.png'); +} +Slider, VSlider +{ + thumbUpSkin: Embed(source='assets/images/slider_thumb_up.png', scaleGridLeft=6, scaleGridRight=7, scaleGridTop=7,scaleGridBottom=8); + thumbOverSkin: Embed(source='assets/images/slider_thumb_up.png', scaleGridLeft=6, scaleGridRight=7, scaleGridTop=7,scaleGridBottom=8); + thumbDownSkin: Embed(source='assets/images/slider_thumb_up.png', scaleGridLeft=6, scaleGridRight=7, scaleGridTop=7,scaleGridBottom=8); +} + ComboBox{ + upSkin: Embed(source='assets/images/comboBox_up.png',scaleGridLeft=10, scaleGridRight=160, scaleGridTop=10,scaleGridBottom=11); + overSkin:Embed(source='assets/images/comboBox_over.png',scaleGridLeft=10, scaleGridRight=160, scaleGridTop=10,scaleGridBottom=11); + downSkin:Embed(source='assets/images/comboBox_over.png',scaleGridLeft=10, scaleGridRight=160, scaleGridTop=10,scaleGridBottom=11); + selectedUpSkin:Embed(source='assets/images/comboBox_up.png',scaleGridLeft=10, scaleGridRight=160, scaleGridTop=10,scaleGridBottom=11); + selectedOverSkin:Embed(source='assets/images/comboBox_up.png',scaleGridLeft=10, scaleGridRight=160, scaleGridTop=10,scaleGridBottom=11); +} +ComboBox, Tree, List +{ + selectionColor:#4385d9; + rollOverColor:#4385d9; + textRollOverColor:#ffffff; + textSelectedColor:#ffffff; +} + +DateChooser { + headerColors: #C9C9C9, #C9C9C9; +} + +Tree { + folderClosedIcon: Embed(source='assets/images/tree_folder.png'); + folderOpenIcon: Embed(source='assets/images/tree_folder_open.png'); +} + +CheckBox +{ + upIcon: Embed(source='assets/images/checkBox_up.png'); + downIcon:Embed(source='assets/images/checkBox_selected.png'); + overIcon:Embed(source='assets/images/checkBox_over.png'); + selectedUpIcon:Embed(source='assets/images/checkBox_selected.png'); + selectedOverIcon:Embed(source='assets/images/checkBox_selected.png'); + selectedDownIcon:Embed(source='assets/images/checkBox_selected.png'); +} + +Accordion { + headerStyleName: accordionHeader; +} + +.accordionHeader { + fontSize: 11; + fillColors: #FFFFFF, #EEEEEE; + fillAlphas: 1, 1; + paddingTop: 7; + paddingLeft: 10; + paddingBottom: 4; + paddingRight: 10; + +} + +ButtonBar { + buttonStyleName: buttonBarButton; + firstButtonStyleName: firstButtonBarButton; + lastButtonStyleName: lastButtonBarButton; + fontSize: 11; +} + +.buttonBarButton { + upSkin:Embed(source='assets/images/button_bar_middle.png', + scaleGridLeft=4, scaleGridRight=16, scaleGridTop=11,scaleGridBottom=12); + downSkin:Embed(source='assets/images/button_bar_middle_selected.png', + scaleGridLeft=4, scaleGridRight=16, scaleGridTop=11,scaleGridBottom=12); + overSkin:Embed(source='assets/images/button_bar_middle_selected.png', + scaleGridLeft=4, scaleGridRight=16, scaleGridTop=11,scaleGridBottom=12); + selectedUpSkin:Embed(source='assets/images/button_bar_middle_selected.png', + scaleGridLeft=4, scaleGridRight=16, scaleGridTop=11,scaleGridBottom=12); + selectedOverSkin:Embed(source='assets/images/button_bar_middle_selected.png', + scaleGridLeft=4, scaleGridRight=16, scaleGridTop=11,scaleGridBottom=12); + disabledSkin:Embed(source='assets/images/button_bar_middle_disabled.png', + scaleGridLeft=4, scaleGridRight=16, scaleGridTop=11,scaleGridBottom=12); + + paddingTop: 5; + paddingBottom: 4; +} + +.firstButtonBarButton { + upSkin:Embed(source='assets/images/button_bar_left.png', + scaleGridLeft=10, scaleGridRight=11, scaleGridTop=11,scaleGridBottom=12); + downSkin:Embed(source='assets/images/button_bar_left_selected.png', + scaleGridLeft=10, scaleGridRight=11, scaleGridTop=11,scaleGridBottom=12); + overSkin:Embed(source='assets/images/button_bar_left_selected.png', + scaleGridLeft=10, scaleGridRight=11, scaleGridTop=11,scaleGridBottom=12); + selectedUpSkin:Embed(source='assets/images/button_bar_left_selected.png', + scaleGridLeft=10, scaleGridRight=11, scaleGridTop=11,scaleGridBottom=12); + selectedOverSkin:Embed(source='assets/images/button_bar_left_selected.png', + scaleGridLeft=10, scaleGridRight=11, scaleGridTop=11,scaleGridBottom=12); + disabledSkin:Embed(source='assets/images/button_bar_left_disabled.png', + scaleGridLeft=10, scaleGridRight=11, scaleGridTop=11,scaleGridBottom=12); + + paddingTop: 5; + paddingBottom: 4; +} + +.lastButtonBarButton { + upSkin:Embed(source='assets/images/button_bar_right.png', + scaleGridLeft=10, scaleGridRight=14, scaleGridTop=11,scaleGridBottom=12); + downSkin:Embed(source='assets/images/button_bar_right_selected.png', + scaleGridLeft=10, scaleGridRight=14, scaleGridTop=11,scaleGridBottom=12); + overSkin:Embed(source='assets/images/button_bar_right_selected.png', + scaleGridLeft=10, scaleGridRight=14, scaleGridTop=11,scaleGridBottom=12); + selectedUpSkin:Embed(source='assets/images/button_bar_right_selected.png', + scaleGridLeft=10, scaleGridRight=14, scaleGridTop=11,scaleGridBottom=12); + selectedOverSkin:Embed(source='assets/images/button_bar_right_selected.png', + scaleGridLeft=10, scaleGridRight=14, scaleGridTop=11,scaleGridBottom=12); + disabledSkin:Embed(source='assets/images/button_bar_right_disabled.png', + scaleGridLeft=10, scaleGridRight=14, scaleGridTop=11,scaleGridBottom=12); + + paddingTop: 5; + paddingBottom: 4; + paddingRight: 7; +} + + +/**************************************************************************************************************** + FILTERS * +***************************************************************************************************************** +*/ +.dropShadow +{ + filterClass:ClassReference('com.asfusion.skins.filters.CSSDropShadowFilter'); + distance:5; + blurX:32; + blurY:32; + quality:3; + alpha:0.6; +} +.contentDropShadow +{ + filterClass:ClassReference('com.asfusion.skins.filters.CSSDropShadowFilter'); + distance: 0; + blurX: 4; + blurY: 4; + quality:3; + alpha: 0.5; + inner: true; +} + +/**************************************************************************************************************** + FONTS * +***************************************************************************************************************** +*/ +@font-face { + src:url("assets/fonts/lucidaGrande.swf"); + fontFamily: "Lucida Grande"; +} +@font-face { + src:url("assets/fonts/lucidaGrande.swf"); + fontFamily: "Lucida Grande"; + fontWeight:bold; +} \ No newline at end of file Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/fonts/lucidaGrande.swf ============================================================================== Binary file. No diff available. Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/icons/ai.jpg ============================================================================== Binary file. No diff available. Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/icons/air.jpg ============================================================================== Binary file. No diff available. Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/icons/fl.jpg ============================================================================== Binary file. No diff available. Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/icons/fw.jpg ============================================================================== Binary file. No diff available. Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/icons/fx.jpg ============================================================================== Binary file. No diff available. Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/icons/ps.jpg ============================================================================== Binary file. No diff available. Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/button_bar_left.png ============================================================================== Binary file. No diff available. Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/button_bar_left_disabled.png ============================================================================== Binary file. No diff available. Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/button_bar_left_selected.png ============================================================================== Binary file. No diff available. Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/button_bar_middle.png ============================================================================== Binary file. No diff available. Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/button_bar_middle_disabled.png ============================================================================== Binary file. No diff available. Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/button_bar_middle_selected.png ============================================================================== Binary file. No diff available. Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/button_bar_right.png ============================================================================== Binary file. No diff available. Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/button_bar_right_disabled.png ============================================================================== Binary file. No diff available. Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/button_bar_right_selected.png ============================================================================== Binary file. No diff available. Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/checkBox_over.png ============================================================================== Binary file. No diff available. Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/checkBox_selected.png ============================================================================== Binary file. No diff available. Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/checkBox_up.png ============================================================================== Binary file. No diff available. Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/comboBox_over.png ============================================================================== Binary file. No diff available. Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/comboBox_up.png ============================================================================== Binary file. No diff available. Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/glass_btn_disable.png ============================================================================== Binary file. No diff available. Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/glass_btn_over.png ============================================================================== Binary file. No diff available. Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/glass_btn_up.png ============================================================================== Binary file. No diff available. Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/header_bg.png ============================================================================== Binary file. No diff available. Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/main_bg.png ============================================================================== Binary file. No diff available. Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/panel_bg.png ============================================================================== Binary file. No diff available. Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/radio_over.png ============================================================================== Binary file. No diff available. Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/radio_selected.png ============================================================================== Binary file. No diff available. Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/radio_up.png ============================================================================== Binary file. No diff available. Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/scroll_arrow_down_over.png ============================================================================== Binary file. No diff available. Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/scroll_arrow_down_up.png ============================================================================== Binary file. No diff available. Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/scroll_arrow_up_over.png ============================================================================== Binary file. No diff available. Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/scroll_arrow_up_up.png ============================================================================== Binary file. No diff available. Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/search_input.png ============================================================================== Binary file. No diff available. Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/slider_thumb_up.png ============================================================================== Binary file. No diff available. Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/tab.png ============================================================================== Binary file. No diff available. Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/tab_first.png ============================================================================== Binary file. No diff available. Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/tab_first_over.png ============================================================================== Binary file. No diff available. Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/tab_first_selected.png ============================================================================== Binary file. No diff available. Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/tab_last.png ============================================================================== Binary file. No diff available. Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/tab_last_over.png ============================================================================== Binary file. No diff available. Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/tab_last_selected.png ============================================================================== Binary file. No diff available. Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/tab_middle.png ============================================================================== Binary file. No diff available. Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/tab_middle_over.png ============================================================================== Binary file. No diff available. Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/tab_middle_selected.png ============================================================================== Binary file. No diff available. Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/tab_selected.png ============================================================================== Binary file. No diff available. Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/thum_skin.png ============================================================================== Binary file. No diff available. Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/track_skin.png ============================================================================== Binary file. No diff available. Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/tree_folder.png ============================================================================== Binary file. No diff available. Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/images/tree_folder_open.png ============================================================================== Binary file. No diff available. Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/skins/BaseSkin.as ============================================================================== --- (empty file) +++ freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/skins/BaseSkin.as Mon Mar 16 06:33:34 2009 @@ -0,0 +1,91 @@ +package assets.skins +{ + import com.asfusion.skins.filters.ICSSFilter; + import com.degrafa.Surface; + + import flash.events.Event; + import flash.filters.BitmapFilter; + + import mx.styles.CSSStyleDeclaration; + import mx.styles.IStyleClient; + import mx.styles.StyleManager; + + public class BaseSkin extends Surface + { + [Bindable (event="skinSizeChange")] + protected var skinWidth:int; + + [Bindable (event="skinSizeChange")] + protected var skinHeight:int; + + //.........................................BaseSkin Contructor........................................ + public function BaseSkin() + { + super(); + } + + //.........................................updateDisplayList.......................................... + override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void + { + super.updateDisplayList(unscaledWidth, unscaledHeight); + if(unscaledWidth || unscaledHeight) + { + skinWidth = unscaledWidth; + skinHeight = unscaledHeight; + dispatchEvent( new Event("skinSizeChange")); + } + } + + //.........................................styleName.......................................... + override public function set styleName(value:Object):void + { + super.styleName = value; + if(!value is IStyleClient) return; + + var bitmapFilters:Array = new Array(); + var CSSfilters:Object; + if(value is IStyleClient) + { + CSSfilters = IStyleClient(value).getStyle('filters'); + } + else if(value is CSSStyleDeclaration) + { + CSSfilters = CSSStyleDeclaration(value).getStyle('filters'); + } + if(CSSfilters is String) + { + bitmapFilters.push(createFilter(CSSfilters as String)); + } + else + { + for each( var filterStyleName:String in bitmapFilters) + { + bitmapFilters.push(createFilter(filterStyleName)); + } + } + filters = bitmapFilters; + } + + //.........................................createFilter.......................................... + protected function createFilter(styleName:String):BitmapFilter + { + var CSSfilter:CSSStyleDeclaration = StyleManager.getStyleDeclaration("."+styleName); + var filterClass:Class = CSSfilter.getStyle('filterClass'); + var filter:ICSSFilter = new filterClass(); + filter.styleName = CSSfilter; + return filter.filter; + } + + //.........................................getBottomCornerRadius.......................................... + protected function getBottomCornerRadius():int + { + var bottomCornerRadius:* = getStyle('bottomCornerRadius'); + var bottomCorners:int = 0; + if(bottomCornerRadius !== 0) + { + bottomCorners = bottomCornerRadius; + } + return bottomCorners; + } + } +} \ No newline at end of file Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/skins/PanelBackgroundSkin.mxml ============================================================================== --- (empty file) +++ freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/skins/PanelBackgroundSkin.mxml Mon Mar 16 06:33:34 2009 @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="utf-8"?> +<BaseSkin xmlns:mx="http://www.adobe.com/2006/mxml" + xmlns:degrafa="com.degrafa.*" + xmlns:paint="com.degrafa.paint.*" + xmlns:geometry="com.degrafa.geometry.*" + xmlns="assets.skins.*"> + + <!-- Creating fills. --> + <fills> + <paint:SolidFill id="whiteColor" color="#ffffff" alpha="0.5" /> + <paint:BitmapFill id="bitmapFill" + source="{getStyle('borderBackgroundImage')}" + smooth="true"/> + </fills> + + <!-- Creating Strokes. --> + <strokes> + <paint:SolidStroke id="stroke" color="{getStyle('borderColor')}" alpha="0.5" weight="1" pixelHinting="true"/> + </strokes> + + <!-- Creating a Geometry Group. --> + <graphicsData> + <degrafa:GeometryGroup> + <geometry:RoundedRectangleComplex width="{skinWidth}" height="{skinHeight}" + stroke="{stroke}" fill="{bitmapFill}" + bottomLeftRadius="{getBottomCornerRadius()}" + bottomRightRadius="{getBottomCornerRadius()}" + topLeftRadius="{getStyle('cornerRadius')}" + topRightRadius="{getStyle('cornerRadius')}"/> + </degrafa:GeometryGroup> + </graphicsData> + +</BaseSkin> Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/skins/PanelContentSkin.mxml ============================================================================== --- (empty file) +++ freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/skins/PanelContentSkin.mxml Mon Mar 16 06:33:34 2009 @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<BaseSkin xmlns:mx="http://www.adobe.com/2006/mxml" + xmlns:degrafa="com.degrafa.*" + xmlns:paint="com.degrafa.paint.*" + xmlns:geometry="com.degrafa.geometry.*" + xmlns="assets.skins.*"> + + <!-- Creating fills. --> + <fills> + <paint:SolidFill id="whiteColor" color="#ffffff" alpha="1" /> + </fills> + + <!-- Creating Strokes. --> + <strokes> + <paint:SolidStroke id="stroke" color="{getStyle('borderColor')}" alpha="0.5" weight="1" pixelHinting="true"/> + </strokes> + + <!-- Creating a Geometry Group. --> + <graphicsData> + <degrafa:GeometryGroup> + <geometry:RoundedRectangleComplex width="{skinWidth}" height="{skinHeight}" + stroke="{stroke}" fill="{whiteColor}" + bottomLeftRadius="{getBottomCornerRadius()}" + bottomRightRadius="{getBottomCornerRadius()}" + topLeftRadius="{getStyle('cornerRadius')}" + topRightRadius="{getStyle('cornerRadius')}"/> + </degrafa:GeometryGroup> + </graphicsData> + +</BaseSkin> \ No newline at end of file Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/skins/SmartPanelSkin.as ============================================================================== --- (empty file) +++ freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/skins/SmartPanelSkin.as Mon Mar 16 06:33:34 2009 @@ -0,0 +1,72 @@ +package assets.skins +{ + import flash.display.DisplayObject; + + import mx.containers.Panel; + import mx.core.EdgeMetrics; + import mx.core.mx_internal; + import mx.skins.halo.PanelSkin; + import mx.styles.CSSStyleDeclaration; + import mx.styles.IStyleClient; + import mx.styles.StyleManager; + use namespace mx_internal; + + public class SmartPanelSkin extends PanelSkin + { + private var backgroundComplete:Boolean; + private var contentComplete:Boolean; + + public function SmartPanelSkin() + { + super(); + } + override mx_internal function drawBorder(w:Number, h:Number):void + { + if(!parent || contentComplete) return; + + contentComplete = true; + var contentStyleName:* = getStyle("contentStyleName"); + if(contentStyleName) + { + var contentCSS:CSSStyleDeclaration = StyleManager.getStyleDeclaration("." + contentStyleName); + var contentSkin:Class = contentCSS.getStyle("skin"); + if(contentSkin && parent is Panel) + { + var contentInstance:DisplayObject = new contentSkin(); + if(contentInstance is IStyleClient) IStyleClient(contentInstance).styleName = contentCSS; + var metrics:EdgeMetrics = borderMetrics; + contentInstance.width = w - metrics.left - metrics.right; + contentInstance.height = h - metrics.bottom - metrics.top; + contentInstance.x = metrics.left; + contentInstance.y = metrics.top; + var panel:Panel = Panel(parent); + panel.rawChildren.addChildAt(contentInstance,1); + } + } + else + { + super.drawBorder(w,h); + } + } + override mx_internal function drawBackground(w:Number, h:Number):void + { + if(!parent || backgroundComplete) return; + + backgroundComplete = true; + var backgroundSkin:Class = getStyle("backgroundSkin"); + if(backgroundSkin && parent is Panel) + { + var backgroundInstance:DisplayObject = new backgroundSkin(); + if(backgroundInstance is IStyleClient) IStyleClient(backgroundInstance).styleName = parent; + backgroundInstance.width = w; + backgroundInstance.height = h; + var panel:Panel = Panel(parent); + panel.rawChildren.addChildAt(backgroundInstance,0); + } + else + { + super.drawBackground(w,h); + } + } + } +} \ No newline at end of file Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/xml/listData.xml ============================================================================== --- (empty file) +++ freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/assets/xml/listData.xml Mon Mar 16 06:33:34 2009 @@ -0,0 +1,21 @@ +<?xml version="1.0"?> +<items> + <item> + <image>assets/icons/fx.jpg</image> + </item> + <item> + <image>assets/icons/ai.jpg</image> + </item> + <item> + <image>assets/icons/ps.jpg</image> + </item> + <item> + <image>assets/icons/fw.jpg</image> + </item> + <item> + <image>assets/icons/fl.jpg</image> + </item> + <item> + <image>assets/icons/air.jpg</image> + </item> +</items> \ No newline at end of file Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/com/SampleTitleWindow.mxml ============================================================================== --- (empty file) +++ freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/com/SampleTitleWindow.mxml Mon Mar 16 06:33:34 2009 @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="utf-8"?> +<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="400" height="300" creationComplete="centerWindow()" title="TitleWindow" showCloseButton="true" close="closeWindow()"> + + <mx:Script> + <![CDATA[ + import mx.managers.PopUpManager; + + public function centerWindow():void + { + PopUpManager.centerPopUp(this); + } + + public function closeWindow():void + { + PopUpManager.removePopUp(this); + } + + ]]> + + </mx:Script> + + <mx:Label text="This is a sample TitleWindow." verticalCenter="0" horizontalCenter="0"/> + +</mx:TitleWindow> Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/com/views/Controls.mxml ============================================================================== --- (empty file) +++ freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/com/views/Controls.mxml Mon Mar 16 06:33:34 2009 @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="utf-8"?> +<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="600" height="300"> + <mx:Button x="10" y="10" label="Button"/> + <mx:CheckBox x="90" y="10" label="Checkbox"/> + + <mx:ComboBox x="506" y="40" prompt="Combo Box"> + <mx:dataProvider> + <mx:Array> + <mx:Object label="Item 1"/> + <mx:Object label="Item 2"/> + <mx:Object label="Item 3"/> + <mx:Object label="Item 4"/> + </mx:Array> + </mx:dataProvider> + </mx:ComboBox> + <mx:DateChooser x="22" y="77"/> + <mx:DateField x="340" y="10"/> + <mx:HSlider x="243" y="77"/> + <mx:LinkButton x="302" y="40" label="LinkButton"/> + + <mx:ProgressBar x="244" y="107" indeterminate="true"/> + <mx:RadioButton x="195" y="11" label="Radio"/> + <mx:RadioButton x="265" y="11" label="Radio2"/> + <mx:VSlider x="486" y="10"/> + <mx:HBox x="302" y="176" verticalAlign="middle"> + <mx:HRule/> + <mx:Label text="HRule"/> + </mx:HBox> + <mx:HBox x="240" y="153" verticalAlign="middle"> + <mx:VRule/> + <mx:Label text="VRule"/> + </mx:HBox> +</mx:Canvas> Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/com/views/List2.mxml ============================================================================== --- (empty file) +++ freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/com/views/List2.mxml Mon Mar 16 06:33:34 2009 @@ -0,0 +1,76 @@ +<?xml version="1.0" encoding="utf-8"?> +<mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml" width="410" height="200" paddingLeft="10"> + <mx:Model id="listData" source="/assets/xml/listData.xml"/> + <mx:XMLList id="treeData"> + <node label="Mail Box"> + <node label="Inbox"> + <node label="Marketing"/> + <node label="Product Management"/> + <node label="Personal"/> + </node> + <node label="Outbox"> + <node label="Professional"/> + <node label="Personal"/> + </node> + <node label="Spam"/> + <node label="Sent"/> + </node> + </mx:XMLList> + <mx:XMLList id="employees"> + <employee> + <name>Christina Coenraets</name> + <phone>555-219-2270</phone> + <email>ccoenraets@fictitious.com</email> + <active>true</active> + </employee> + <employee> + <name>Joanne Wall</name> + <phone>555-219-2012</phone> + <email>jwall@fictitious.com</email> + <active>true</active> + </employee> + <employee> + <name>Maurice Smith</name> + <phone>555-219-2012</phone> + <email>maurice@fictitious.com</email> + <active>false</active> + </employee> + <employee> + <name>Mary Jones</name> + <phone>555-219-2000</phone> + <email>mjones@fictitious.com</email> + <active>true</active> + </employee> + </mx:XMLList> + <mx:VBox > + <mx:Label text="List"/> + <mx:List height="100%" width="160"> + <mx:dataProvider> + <mx:Array> + <mx:Object label="Flex"/> + <mx:Object label="Illustrator"/> + <mx:Object label="Photoshop"/> + <mx:Object label="Fireworks"/> + <mx:Object label="Flash"/> + <mx:Object label="Adobe AIR"/> + </mx:Array> + </mx:dataProvider> + </mx:List> + </mx:VBox> + <mx:VBox width="330"> + <mx:Label text="TileList"/> + <mx:TileList width="100%" height="220" dataProvider="{ listData.item }"> + <mx:itemRenderer> + <mx:Component> + <mx:VBox paddingTop="4" paddingRight="4" paddingBottom="4" paddingLeft="4"> + <mx:Image source="{ data.image }" width="90" height="90"/> + </mx:VBox> + </mx:Component> + </mx:itemRenderer> + </mx:TileList> + </mx:VBox> + <mx:VBox> + <mx:Label text="Tree"/> + <mx:Tree width="200" height="240" dataProvider="{ treeData }" labelField="@label" showRoot="false"/> + </mx:VBox> +</mx:HBox> Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/com/views/Lists.mxml ============================================================================== --- (empty file) +++ freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/com/views/Lists.mxml Mon Mar 16 06:33:34 2009 @@ -0,0 +1,52 @@ +<?xml version="1.0" encoding="utf-8"?> +<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="400" height="300"> + <mx:Model id="listData" source="/assets/xml/listData.xml"/> + <mx:XMLList id="employees"> + <employee> + <name>Christina Coenraets</name> + <phone>555-219-2270</phone> + <email>ccoenraets@fictitious.com</email> + <active>true</active> + </employee> + <employee> + <name>Joanne Wall</name> + <phone>555-219-2012</phone> + <email>jwall@fictitious.com</email> + <active>true</active> + </employee> + <employee> + <name>Maurice Smith</name> + <phone>555-219-2012</phone> + <email>maurice@fictitious.com</email> + <active>false</active> + </employee> + <employee> + <name>Mary Jones</name> + <phone>555-219-2000</phone> + <email>mjones@fictitious.com</email> + <active>true</active> + </employee> + </mx:XMLList> + <mx:VBox x="10" y="10" width="90%"> + <mx:Label text="DataGrid"/> + <mx:DataGrid dataProvider="{ employees }" height="200" width="100%"> + <mx:columns> + <mx:DataGridColumn dataField="name" headerText="Name"/> + <mx:DataGridColumn dataField="phone" headerText="Phone"/> + <mx:DataGridColumn dataField="email" headerText="Email"/> + </mx:columns> + </mx:DataGrid> + </mx:VBox> + <mx:VBox x="10" y="186" width="90%"> + <mx:Label text="HorizontalList"/> + <mx:HorizontalList width="100%" height="125" dataProvider="{ listData.item }"> + <mx:itemRenderer> + <mx:Component> + <mx:VBox paddingTop="4" paddingRight="4" paddingBottom="4" paddingLeft="4"> + <mx:Image source="{ data.image }" width="90" height="90"/> + </mx:VBox> + </mx:Component> + </mx:itemRenderer> + </mx:HorizontalList> + </mx:VBox> +</mx:Canvas> Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/com/views/Navigation.mxml ============================================================================== --- (empty file) +++ freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/com/views/Navigation.mxml Mon Mar 16 06:33:34 2009 @@ -0,0 +1,63 @@ +<?xml version="1.0" encoding="utf-8"?> +<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="400" height="300"> + + <mx:VBox x="318" y="10"> + <mx:Label text="ButtonBar"/> + <mx:ButtonBar> + <mx:dataProvider> + <mx:Array> + <mx:Object label="Button 1"/> + <mx:Object label="Button 2"/> + <mx:Object label="Button 3"/> + <mx:Object label="Button 4"/> + </mx:Array> + </mx:dataProvider> + </mx:ButtonBar> + </mx:VBox> + <mx:VBox x="318" y="67"> + <mx:Label text="ToggleButtonBar"/> + <mx:ToggleButtonBar> + <mx:dataProvider> + <mx:Array> + <mx:Object label="Button 1"/> + <mx:Object label="Button 2"/> + <mx:Object label="Button 3"/> + <mx:Object label="Button 4"/> + </mx:Array> + </mx:dataProvider> + </mx:ToggleButtonBar> + </mx:VBox> + <mx:VBox x="318" y="130"> + <mx:Label text="TabBar"/> + <mx:TabBar> + <mx:dataProvider> + <mx:Array> + <mx:Object label="Tab 1"/> + <mx:Object label="Tab 2"/> + <mx:Object label="Tab 3"/> + <mx:Object label="Tab 4"/> + </mx:Array> + </mx:dataProvider> + </mx:TabBar> + </mx:VBox> + <mx:VBox x="318" y="200"> + <mx:Label text="LinkBar"/> + <mx:LinkBar> + <mx:Object label="Link 1"/> + <mx:Object label="Link 2"/> + <mx:Object label="Link 3"/> + <mx:Object label="Link 4"/> + </mx:LinkBar> + </mx:VBox> + <mx:VBox x="10" y="10"> + <mx:Label text="Accordion"/> + <mx:Accordion width="300" height="200"> + <mx:Canvas label="Accordion Header 1" width="100%" height="100%"> + </mx:Canvas> + <mx:Canvas label="Accordion Header 2" width="100%" height="100%"> + </mx:Canvas> + <mx:Canvas label="Accordion Header 3" width="100%" height="100%"> + </mx:Canvas> + </mx:Accordion> + </mx:VBox> +</mx:Canvas> Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/com/views/Text.mxml ============================================================================== --- (empty file) +++ freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/com/views/Text.mxml Mon Mar 16 06:33:34 2009 @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="400" height="300"> + <mx:TextArea x="218" y="9" text="TextArea" width="200" height="100"/> + <mx:TextInput x="426" y="8" text="TextInput"/> + <mx:VBox x="10" y="10"> + <mx:Label text="Text"/> + <mx:Text text="Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Praesent vel libero ut libero interdum aliquam. Morbi in massa. Suspendisse ultrices velit nec leo." width="200" height="100"/> + </mx:VBox> +</mx:Canvas> Modified: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/main.mxml ============================================================================== --- freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/main.mxml (original) +++ freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/main.mxml Mon Mar 16 06:33:34 2009 @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> -<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> +<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" horizontalAlign="center" verticalAlign="middle" width="100%" + height="100%" layout="vertical"> <mx:Script> <![CDATA[ @@ -17,6 +18,11 @@ import mx.core.IFlexDisplayObject; private var confTimer:Timer; + private function fakeLogin():void { + loginWindow.enabled = true; + currentState = "main"; + } + private function initConfTab():void{ freeswitch.getConfPlayfiles(null); freeswitch.getConferenceList(); @@ -93,12 +99,12 @@ } public function addDomainUserParam():void { - freeswitch.addDirDomainUserParam(gridDomainsDomain.selectedItem.uid, inputDomainParamName.text, inputDomainParamValue.text); + freeswitch.addDirDomainUserParam(gridDomainsDomain.selectedItem.uid, inputDomainUserParamName.text, inputDomainUserParamValue.text); freeswitch.getDirDomain(gridDomainsDomain.selectedItem.uid); } public function addDomainUserVar():void { - freeswitch.addDirDomainUserVar(gridDomainsDomain.selectedItem.uid, inputDomainVarName.text, inputDomainVarValue.text); + freeswitch.addDirDomainUserVar(gridDomainsDomain.selectedItem.uid, inputDomainUserVarName.text, inputDomainUserVarValue.text); freeswitch.getDirDomain(gridDomainsDomain.selectedItem.uid); } @@ -111,218 +117,282 @@ freeswitch.updateDirDomainUserParam(dgDomainVars.selectedItem.uid, dgDomainVars.selectedItem.name, dgDomainVars.value); freeswitch.getDirDomain(gridDomainsDomain.selectedItem.uid); } - + + public function doGroupAdd():void { + if (groupsDomain.selectedItem.uid){ + freeswitch.addDirGroup(groupsDomain.selectedItem.uid, textNewGroup.text); + freeswitch.getDirGroup(dgDirGroups.selectedItem.uid); + } else { + Alert.show('You must have a domain Selected', 'Invalid Domain', mx.controls.Alert.OK); + } + } ]]> </mx:Script> <!-- this is the RemoteObject used to make the RPC calls --> <mx:RemoteObject id="freeswitch" destination="freeswitch" source="freeswitch" endpoint="/feeder/gateway.php" showBusyCursor="true"/> - - <mx:TabNavigator width="100%" height="100%"> - <mx:Canvas label="Channels" width="100%" height="100%" show="freeswitch.getChannels();"> - - <mx:Button label="Refresh" click="freeswitch.getChannels();" /> - <mx:DataGrid id="channelsGrid" dataProvider="{freeswitch.getChannels.lastResult}" left="0" top="30" bottom="0" right="0"> - <mx:columns> - <mx:DataGridColumn dataField="uuid" editable="false"/> - <mx:DataGridColumn dataField="cid_name"/> - <mx:DataGridColumn dataField="cid_num"/> - <mx:DataGridColumn dataField="dest"/> - <mx:DataGridColumn dataField="created"/> - <mx:DataGridColumn dataField="read_codec"/> - <mx:DataGridColumn dataField="write_codec"/> - </mx:columns> - </mx:DataGrid> - - <mx:Button label="Originate" click="doOriginate();" x="81"/> - <mx:Button label="Kill UUID" click="freeswitch.killUuid(callsGrid.selectedItem.caller_uuid); freeswitch.getCalls();" x="168"/> - <mx:Button label="Status" click="doStatusForm()" x="253"/> - </mx:Canvas> - <mx:Canvas label="Calls" width="100%" height="100%" show="freeswitch.getCalls();"> - - <mx:Button label="Refresh" click="freeswitch.getCalls();" /> - <mx:Button label="Originate" click="doOriginate();" x="79"/> - <mx:Button label="Kill UUID" click="freeswitch.killUuid(callsGrid.selectedItem.caller_uuid); freeswitch.getCalls();" x="166"/> - <mx:Button label="Status" click="doStatusForm()" x="251"/> - <!-- <mx:DataGrid id="myGrid" dataProvider="{myRemote.getCalls.lastResult}" editable="true" itemEditEnd="save(event)"> --> - <mx:DataGrid id="callsGrid" dataProvider="{freeswitch.getCalls.lastResult}" top="30" bottom="0" left="0" right="0"> - <mx:columns> - <mx:DataGridColumn dataField="created"/> - <mx:DataGridColumn dataField="caller_uuid"/> - <mx:DataGridColumn dataField="callee_uuid"/> - <mx:DataGridColumn dataField="caller_cid_name"/> - <mx:DataGridColumn dataField="caller_cid_num"/> - <mx:DataGridColumn dataField="caller_dest_num"/> - </mx:columns> - </mx:DataGrid> - - </mx:Canvas> - <mx:Canvas label="Conference" width="100%" height="100%" show="initConfTab();"> - <mx:ComboBox id="confPicker" horizontalCenter="0" top="10" dataProvider="{freeswitch.getConferenceList.lastResult}" - change="{freeswitch.getConferenceUsers(confPicker.selectedItem)}"></mx:ComboBox> - <mx:DataGrid id="conferenceGrid" dataProvider="{freeswitch.getConferenceUsers.lastResult}" width="100%" top="43" bottom="145"> - <mx:columns> - <mx:DataGridColumn dataField="id"/> - <mx:DataGridColumn dataField="caller_name"/> - <mx:DataGridColumn dataField="caller_number" /> - <mx:DataGridColumn dataField="channel" /> - <mx:DataGridColumn dataField="uuid"/> - <mx:DataGridColumn dataField="volume"/> - <mx:DataGridColumn dataField="gain"/> - <mx:DataGridColumn dataField="noise"/> - <mx:DataGridColumn dataField="flags"/> - </mx:columns> - </mx:DataGrid> - <mx:Button label="Play File" click="freeswitch.confPlayfile(confPicker.selectedItem, comboConfPlayfile.selectedItem.data);" horizontalCenter="-40" bottom="85"/> - <mx:Button label="Speak" click="{freeswitch.getConferenceUsers(confPicker.selectedItem)}" horizontalCenter="221" bottom="25"/> - <mx:Button label="Refresh Confs" click="{freeswitch.getConferenceList()}" horizontalCenter="-276" bottom="115"/> - <mx:Button label="Refresh Users" click="{freeswitch.getConferenceUsers(confPicker.selectedItem)}" horizontalCenter="-162" bottom="115"/> - <mx:Button label="Kick" click="{freeswitch.kickConferenceUser(confPicker.selectedItem, conferenceGrid.selectedItem.id)}" horizontalCenter="-162" bottom="55"/> - <mx:Button label="DTMF" click="{freeswitch.getCalls()}" horizontalCenter="98" bottom="25"/> - <mx:Button label="Transfer" click="{freeswitch.getCalls()}" horizontalCenter="24" bottom="25"/> - <mx:Button label="Mute" click="{freeswitch.confMute(confPicker.selectedItem, conferenceGrid.selectedItem.id)}" horizontalCenter="-303" bottom="55"/> - <mx:Button label="Unmute" click="{freeswitch.confUnmute(confPicker.selectedItem, conferenceGrid.selectedItem.id)}" horizontalCenter="-232" bottom="55"/> - <mx:Button label="Dial" click="{freeswitch.getCalls()}" horizontalCenter="158" bottom="25"/> - <mx:Button label="Lock" click="freeswitch.confLock(confPicker.selectedItem);" horizontalCenter="-302" bottom="85"/> - <mx:Button label="Unlock" click="freeswitch.confUnlock(confPicker.selectedItem);" horizontalCenter="-236" bottom="85"/> - <mx:CheckBox id="confAutoRefreshCheckBox" label="AutoRefresh" right="204" top="10" selected="true" click="confAutoRefreshControl();"/> - <mx:HSlider id="confAutoRefreshTimeSlider" right="37" top="10" width="162" minimum="5" maximum="120" snapInterval="5" value="15"/> - <mx:Label id="confTimerLabel" text="STOPPED" right="339" top="12"/> - <mx:Label width="23" id="lblRefreshInterval" text="{confAutoRefreshTimeSlider.value.toString()}" right="10" top="12"/> - <mx:Label id="confTimerSecCount" text="Label" right="433" top="12"/> - <mx:TextInput bottom="55" width="406" horizontalCenter="126"/> - <mx:ComboBox id="comboConfPlayfile" width="324" horizontalCenter="167" bottom="85" labelField="label" dataProvider="{freeswitch.getConfPlayfiles.lastResult}" ></mx:ComboBox> - </mx:Canvas> - <mx:Canvas label="Directory" width="100%" height="100%"> - <mx:TabNavigator x="0" y="0" width="100%" height="100%"> - <mx:Canvas label="Domains" width="100%" height="100%"> - <mx:HDividedBox x="0" y="0" width="100%" height="100%"> - <mx:Canvas width="20%" height="100%"> - <mx:DataGrid id="gridDomainsDomain" width="100%" horizontalCenter="0" top="0" bottom="40" - dataProvider="{freeswitch.getDirDomains.lastResult}" - click="freeswitch.getDirDomain(gridDomainsDomain.selectedItem.uid);"> - <mx:columns> - <mx:DataGridColumn headerText="domain" dataField="name"/> - </mx:columns> - </mx:DataGrid> - <mx:Button label="Refresh Domains" horizontalCenter="0" bottom="10" click="freeswitch.getDirDomains();"/> - </mx:Canvas> - <mx:Canvas width="80%" height="100%"> - <mx:Label text="UID:" horizontalCenter="-421" top="10"/> - <mx:Label text="{gridDomainsDomain.selectedItem.uid}" id="domainUid" horizontalCenter="-339" top="10"/> - <mx:Label text="Name:" horizontalCenter="-129" top="12"/> - <mx:TextInput id="domainName" text="{gridDomainsDomain.selectedItem.name}" horizontalCenter="25" top="10"/> - <mx:CheckBox label="Enabled" id="domainEnabled" enabled="{gridDomainsDomain.selectedItem.enabled}" right="10" top="8"/> - <mx:DataGrid left="10" top="40" bottom="116" width="45%" dataProvider="{freeswitch.getDirDomain.lastResult.params}" - itemEditEnd="dgChangeDomainParam();" editable="true" id="dgDomainParam"> - <mx:columns> - <mx:DataGridColumn headerText="Parameter" dataField="name" width="120" editable="false" /> - <mx:DataGridColumn headerText="Value" dataField="value"/> - </mx:columns> - </mx:DataGrid> - <mx:DataGrid right="10" top="40" bottom="116" width="45%" dataProvider="{freeswitch.getDirDomain.lastResult.variables}" - itemEditEnd="dgChangeDomainVars();" editable="true" id="dgDomainVars"> - <mx:columns> - <mx:DataGridColumn headerText="Variable" dataField="name" width="120" editable="false"/> - <mx:DataGridColumn headerText="Data" dataField="value"/> - </mx:columns> - </mx:DataGrid> - <mx:Button label="Refresh Domain" bottom="10" horizontalCenter="-52"/> - <mx:Button label="Add Parameter" left="149" bottom="40" click="addDomainParam()"/> - <mx:Button label="Add Variable" bottom="40" right="168" width="99" click="addDomainVar()"/> - <mx:Button label="Add Domain" bottom="10" horizontalCenter="63" click="doNewDomainForm();"/> - <mx:Label text="Parameter" bottom="90" left="10"/> - <mx:TextInput width="121" id="inputDomainParamName" bottom="70" left="10"/> - <mx:TextInput width="272" id="inputDomainParamValue" bottom="70" left="139"/> - <mx:Label text="Variable" bottom="90" right="361"/> - <mx:TextInput width="121" id="inputDomainVarName" bottom="70" right="290"/> - <mx:TextInput width="272" id="inputDomainVarValue" bottom="70" right="10"/> - <mx:Label text="Data" bottom="90" right="251"/> - <mx:Label text="Value" bottom="90" left="139"/> - </mx:Canvas> - </mx:HDividedBox> - </mx:Canvas> - <mx:Canvas label="Users" width="100%" height="100%"> - <mx:HDividedBox x="0" y="0" width="100%" height="100%"> - <mx:Canvas width="20%" height="100%"> - <mx:ComboBox id="userDomain" top="10" horizontalCenter="0" dataProvider="{freeswitch.getDirDomains.lastResult}" labelField="name"></mx:ComboBox> - <mx:DataGrid id="dgDomainUsers" width="100%" horizontalCenter="0" top="40" bottom="70" dataProvider="{freeswitch.getDirUsers.lastResult}" - click="freeswitch.getDirUser(dgDomainUsers.selectedItem.uid)"> - <mx:columns> - <mx:DataGridColumn headerText="User" dataField="username" /> - </mx:columns> - </mx:DataGrid> - <mx:Button label="Refresh Users" horizontalCenter="0" bottom="10" click="freeswitch.getDirUsers(userDomain.selectedItem.uid);"/> - <mx:Button label="Refresh Domains" horizontalCenter="0" bottom="40" click="freeswitch.getDirDomains();"/> - </mx:Canvas> - <mx:Canvas width="80%" height="100%"> - <mx:Label text="UID:" horizontalCenter="-421" top="10"/> - <mx:Label text="{dgDomainUsers.selectedItem.uid}" id="userUid" horizontalCenter="-339" top="10"/> - <mx:Label text="Name:" horizontalCenter="-129" top="12"/> - <mx:TextInput id="userName" text="{dgDomainUsers.selectedItem.username}" horizontalCenter="25" top="10"/> - <mx:CheckBox label="Enabled" id="userEnabled" enabled="{dgDomainUsers.selectedItem.enabled}" right="10" top="8"/> - <mx:DataGrid left="10" top="40" bottom="116" width="45%" dataProvider="{freeswitch.getDirUser.lastResult.params}" - change="dgChangeDomainUserParam();" editable="true" id="dgDomainUserParam"> - <mx:columns> - <mx:DataGridColumn headerText="Parameter" dataField="name" width="120" editable="false"/> - <mx:DataGridColumn headerText="Value" dataField="value"/> - </mx:columns> - </mx:DataGrid> - <mx:DataGrid right="10" top="40" bottom="116" width="45%" dataProvider="{freeswitch.getDirUser.lastResult.variables}" - change="dgChangeDomainVars();" editable="true" id="dgDomainUserVars"> - <mx:columns> - <mx:DataGridColumn headerText="Variable" dataField="name" width="120" editable="false"/> - <mx:DataGridColumn headerText="Data" dataField="value"/> - </mx:columns> - </mx:DataGrid> - <mx:Button label="Refresh User" bottom="10" horizontalCenter="-52"/> - <mx:Button label="Add Parameter" left="149" bottom="40" click="addDomainUserParam()"/> - <mx:Button label="Add Variable" bottom="40" right="168" width="99" click="addDomainUserVar()"/> - <mx:Button label="Add User" bottom="10" horizontalCenter="63" click="doNewUserForm();"/> - <mx:Label text="Parameter" bottom="90" left="10"/> - <mx:TextInput width="121" id="inputDomainUserParamName" bottom="70" left="10"/> - <mx:TextInput width="272" id="inputDomainUserParamValue" bottom="70" left="139"/> - <mx:Label text="Variable" bottom="90" right="361"/> - <mx:TextInput width="121" id="inputDomainUserVarName" bottom="70" right="290"/> - <mx:TextInput width="272" id="inputDomainUserVarValue" bottom="70" right="10"/> - <mx:Label text="Data" bottom="90" right="251"/> - <mx:Label text="Value" bottom="90" left="139"/> - </mx:Canvas> - </mx:HDividedBox> - </mx:Canvas> - <mx:Canvas label="Groups" width="100%" height="100%"> - <mx:HDividedBox x="0" y="0" width="100%" height="100%"> - <mx:Canvas width="20%" height="100%"> - <mx:ComboBox top="10" horizontalCenter="0" id="groupsDomain" dataProvider="{freeswitch.getDirDomains.lastResult}" labelField="name"></mx:ComboBox> - <mx:DataGrid id="dgDirGroups" width="100%" horizontalCenter="0" top="40" bottom="70" dataProvider="{freeswitch.getDirGroups.lastResult}" - click="freeswitch.getDirGroup(dgDirGroups.selectedItem.uid)"> - <mx:columns> - <mx:DataGridColumn headerText="Group" dataField="name"/> - </mx:columns> - </mx:DataGrid> - <mx:Button label="Refresh Groups" horizontalCenter="0" bottom="10" click="freeswitch.getDirGroups(groupsDomain.selectedItem.uid)"/> - <mx:Button label="Refresh Domains" horizontalCenter="0" bottom="40" click="freeswitch.getDirDomains()"/> - </mx:Canvas> - <mx:Canvas width="80%" height="100%"> - <mx:DataGrid width="45%" left="10" top="0" bottom="70" dataProvider="{freeswitch.getDirGroup.lastResult.members}" - dragEnabled="true" dragMoveEnabled="true" dropEnabled="true"> - <mx:columns> - <mx:DataGridColumn headerText="Member" dataField="usersUsername"/> - </mx:columns> - </mx:DataGrid> - <mx:DataGrid width="45%" right="10" top="0" bottom="70" dataProvider="{freeswitch.getDirGroup.lastResult.nonmembers}" - dragEnabled="true" dragMoveEnabled="true" dropEnabled="true"> - <mx:columns> - <mx:DataGridColumn headerText="Available to Join" dataField="usersUsername"/> - </mx:columns> - </mx:DataGrid> - <mx:Button label="Refresh" left="10" bottom="40" click="freeswitch.getDirGroup(dgDirGroups.selectedItem.uid)"/> - </mx:Canvas> - </mx:HDividedBox> - </mx:Canvas> - </mx:TabNavigator> - </mx:Canvas> - </mx:TabNavigator> + <mx:states> + <mx:State name="main"> + <mx:SetProperty target="{loginWindow}" name="width" value="100%"/> + <mx:SetProperty target="{loginWindow}" name="height" value="100%"/> + <mx:SetProperty target="{loginWindow}" name="title" value="Codename: Shipment - FreeSWITCH GUI v0.1"/> + + <mx:RemoveChild target="{username}"/> + <mx:RemoveChild target="{password}"/> + <mx:RemoveChild target="{hbox1}"/> + <mx:RemoveChild target="{hbox2}"/> + <mx:RemoveChild target="{buttonLogin}"/> + <mx:RemoveChild target="{spacer1}"/> + <mx:RemoveChild target="{loginWindow}"/> + + <mx:AddChild relativeTo="{loginCanvas}" position="lastChild"> + <mx:TitleWindow defaultButton="{buttonLogin}" resizeEffect="Resize" width="100%" height="100%" layout="vertical" + verticalAlign="middle" horizontalAlign="center" title="Codename: Shipment - FreeSWITCH GUI v0.1" + id="mainWindow" creationCompleteEffect="{unblurImage}"> + <mx:Canvas id="DisplayCanvas" label="DisplayCanvas" width="100%" height="100%" backgroundColor="#FFFFFF"> + + <mx:TabNavigator width="100%" height="100%"> + <mx:Canvas label="Channels" width="100%" height="100%" show="freeswitch.getChannels();"> + + <mx:Button label="Refresh" click="freeswitch.getChannels();" /> + <mx:DataGrid id="channelsGrid" dataProvider="{freeswitch.getChannels.lastResult}" left="0" top="30" bottom="0" right="0"> + <mx:columns> + <mx:DataGridColumn dataField="uuid" editable="false"/> + <mx:DataGridColumn dataField="cid_name"/> + <mx:DataGridColumn dataField="cid_num"/> + <mx:DataGridColumn dataField="dest"/> + <mx:DataGridColumn dataField="created"/> + <mx:DataGridColumn dataField="read_codec"/> + <mx:DataGridColumn dataField="write_codec"/> + </mx:columns> + </mx:DataGrid> + + <mx:Button label="Originate" click="doOriginate();" x="81"/> + <mx:Button label="Kill UUID" click="freeswitch.killUuid(callsGrid.selectedItem.caller_uuid); freeswitch.getCalls();" x="168"/> + <mx:Button label="Status" click="doStatusForm()" x="253"/> + </mx:Canvas> + <mx:Canvas label="Calls" width="100%" height="100%" show="freeswitch.getCalls();"> + + <mx:Button label="Refresh" click="freeswitch.getCalls();" /> + <mx:Button label="Originate" click="doOriginate();" x="79"/> + <mx:Button label="Kill UUID" click="freeswitch.killUuid(callsGrid.selectedItem.caller_uuid); freeswitch.getCalls();" x="166"/> + <mx:Button label="Status" click="doStatusForm()" x="251"/> + <!-- <mx:DataGrid id="myGrid" dataProvider="{myRemote.getCalls.lastResult}" editable="true" itemEditEnd="save(event)"> --> + <mx:DataGrid id="callsGrid" dataProvider="{freeswitch.getCalls.lastResult}" top="30" bottom="0" left="0" right="0"> + <mx:columns> + <mx:DataGridColumn dataField="created"/> + <mx:DataGridColumn dataField="caller_uuid"/> + <mx:DataGridColumn dataField="callee_uuid"/> + <mx:DataGridColumn dataField="caller_cid_name"/> + <mx:DataGridColumn dataField="caller_cid_num"/> + <mx:DataGridColumn dataField="caller_dest_num"/> + </mx:columns> + </mx:DataGrid> + + </mx:Canvas> + <mx:Canvas label="Conference" width="100%" height="100%" show="initConfTab();"> + <mx:ComboBox id="confPicker" horizontalCenter="0" top="10" dataProvider="{freeswitch.getConferenceList.lastResult}" + change="{freeswitch.getConferenceUsers(confPicker.selectedItem)}"></mx:ComboBox> + <mx:DataGrid id="conferenceGrid" dataProvider="{freeswitch.getConferenceUsers.lastResult}" width="100%" top="43" bottom="145"> + <mx:columns> + <mx:DataGridColumn dataField="id"/> + <mx:DataGridColumn dataField="caller_name"/> + <mx:DataGridColumn dataField="caller_number" /> + <mx:DataGridColumn dataField="channel" /> + <mx:DataGridColumn dataField="uuid"/> + <mx:DataGridColumn dataField="volume"/> + <mx:DataGridColumn dataField="gain"/> + <mx:DataGridColumn dataField="noise"/> + <mx:DataGridColumn dataField="flags"/> + </mx:columns> + </mx:DataGrid> + <mx:Button label="Play File" click="freeswitch.confPlayfile(confPicker.selectedItem, comboConfPlayfile.selectedItem.data);" horizontalCenter="-40" bottom="85"/> + <mx:Button label="Speak" click="{freeswitch.getConferenceUsers(confPicker.selectedItem)}" horizontalCenter="221" bottom="25"/> + <mx:Button label="Refresh Confs" click="{freeswitch.getConferenceList()}" horizontalCenter="-276" bottom="115"/> + <mx:Button label="Refresh Users" click="{freeswitch.getConferenceUsers(confPicker.selectedItem)}" horizontalCenter="-162" bottom="115"/> + <mx:Button label="Kick" click="{freeswitch.kickConferenceUser(confPicker.selectedItem, conferenceGrid.selectedItem.id)}" horizontalCenter="-162" bottom="55"/> + <mx:Button label="DTMF" click="{freeswitch.getCalls()}" horizontalCenter="98" bottom="25"/> + <mx:Button label="Transfer" click="{freeswitch.getCalls()}" horizontalCenter="24" bottom="25"/> + <mx:Button label="Mute" click="{freeswitch.confMute(confPicker.selectedItem, conferenceGrid.selectedItem.id)}" horizontalCenter="-303" bottom="55"/> + <mx:Button label="Unmute" click="{freeswitch.confUnmute(confPicker.selectedItem, conferenceGrid.selectedItem.id)}" horizontalCenter="-232" bottom="55"/> + <mx:Button label="Dial" click="{freeswitch.getCalls()}" horizontalCenter="158" bottom="25"/> + <mx:Button label="Lock" click="freeswitch.confLock(confPicker.selectedItem);" horizontalCenter="-302" bottom="85"/> + <mx:Button label="Unlock" click="freeswitch.confUnlock(confPicker.selectedItem);" horizontalCenter="-236" bottom="85"/> + <mx:CheckBox id="confAutoRefreshCheckBox" label="AutoRefresh" right="204" top="10" selected="true" click="confAutoRefreshControl();"/> + <mx:HSlider id="confAutoRefreshTimeSlider" right="37" top="10" width="162" minimum="5" maximum="120" snapInterval="5" value="15"/> + <mx:Label id="confTimerLabel" text="STOPPED" right="339" top="12"/> + <mx:Label width="23" id="lblRefreshInterval" text="{confAutoRefreshTimeSlider.value.toString()}" right="10" top="12"/> + <mx:Label id="confTimerSecCount" text="Label" right="433" top="12"/> + <mx:TextInput bottom="55" width="406" horizontalCenter="126"/> + <mx:ComboBox id="comboConfPlayfile" width="324" horizontalCenter="167" bottom="85" labelField="label" dataProvider="{freeswitch.getConfPlayfiles.lastResult}" ></mx:ComboBox> + </mx:Canvas> + <mx:Canvas label="Directory" width="100%" height="100%"> + <mx:TabNavigator x="0" y="0" width="100%" height="100%"> + <mx:Canvas label="Domains" width="100%" height="100%"> + <mx:HDividedBox x="0" y="0" width="100%" height="100%"> + <mx:Canvas width="20%" height="100%"> + <mx:DataGrid id="gridDomainsDomain" width="100%" horizontalCenter="0" top="0" bottom="100" + dataProvider="{freeswitch.getDirDomains.lastResult}" + click="freeswitch.getDirDomain(gridDomainsDomain.selectedItem.uid);"> + <mx:columns> + <mx:DataGridColumn headerText="domain" dataField="name"/> + </mx:columns> + </mx:DataGrid> + <mx:Button label="Refresh Domains" horizontalCenter="0" bottom="10" click="freeswitch.getDirDomains();"/> + <mx:Button label="Add Domain" click="doNewDomainForm();" horizontalCenter="0" bottom="70"/> + <mx:Button label="Delete Domain" click="doNewDomainForm();" horizontalCenter="0" bottom="40"/> + </mx:Canvas> + <mx:Canvas width="80%" height="100%"> + <mx:Label text="UID:" horizontalCenter="-421" top="10"/> + <mx:Label text="{gridDomainsDomain.selectedItem.uid}" id="domainUid" horizontalCenter="-339" top="10"/> + <mx:Label text="Name:" horizontalCenter="-129" top="12"/> + <mx:TextInput id="domainName" text="{gridDomainsDomain.selectedItem.name}" horizontalCenter="25" top="10"/> + <mx:CheckBox label="Enabled" id="domainEnabled" enabled="{gridDomainsDomain.selectedItem.enabled}" right="10" top="8"/> + <mx:DataGrid left="10" top="40" bottom="116" width="45%" dataProvider="{freeswitch.getDirDomain.lastResult.params}" + itemEditEnd="dgChangeDomainParam();" editable="true" id="dgDomainParam"> + <mx:columns> + <mx:DataGridColumn headerText="Parameter" dataField="name" width="120" editable="false" /> + <mx:DataGridColumn headerText="Value" dataField="value"/> + </mx:columns> + </mx:DataGrid> + <mx:DataGrid right="10" top="40" bottom="116" width="45%" dataProvider="{freeswitch.getDirDomain.lastResult.variables}" + itemEditEnd="dgChangeDomainVars();" editable="true" id="dgDomainVars"> + <mx:columns> + <mx:DataGridColumn headerText="Variable" dataField="name" width="120" editable="false"/> + <mx:DataGridColumn headerText="Data" dataField="value"/> + </mx:columns> + </mx:DataGrid> + <mx:Button label="Refresh Domain" bottom="10" horizontalCenter="0"/> + <mx:Button label="Add Parameter" left="139" bottom="40" click="addDomainParam()"/> + <mx:Button label="Add Variable" bottom="40" right="183" width="99" click="addDomainVar()"/> + <mx:Label text="Parameter" bottom="90" left="10"/> + <mx:TextInput width="121" id="inputDomainParamName" bottom="70" left="10"/> + <mx:TextInput width="272" id="inputDomainParamValue" bottom="70" left="139"/> + <mx:Label text="Variable" bottom="90" right="361"/> + <mx:TextInput width="121" id="inputDomainVarName" bottom="70" right="290"/> + <mx:TextInput width="272" id="inputDomainVarValue" bottom="70" right="10"/> + <mx:Label text="Data" bottom="90" right="251"/> + <mx:Label text="Value" bottom="90" left="139"/> + <mx:Button label="Delete Param" left="26" bottom="40"/> + <mx:Button label="Delete Variable" bottom="40" right="290"/> + </mx:Canvas> + </mx:HDividedBox> + </mx:Canvas> + <mx:Canvas label="Users" width="100%" height="100%"> + <mx:HDividedBox x="0" y="0" width="100%" height="100%"> + <mx:Canvas width="20%" height="100%"> + <mx:ComboBox id="userDomain" top="10" horizontalCenter="0" dataProvider="{freeswitch.getDirDomains.lastResult}" labelField="name"></mx:ComboBox> + <mx:DataGrid id="dgDomainUsers" width="100%" horizontalCenter="0" top="40" bottom="130" dataProvider="{freeswitch.getDirUsers.lastResult}" + click="freeswitch.getDirUser(dgDomainUsers.selectedItem.uid)"> + <mx:columns> + <mx:DataGridColumn headerText="User" dataField="username" /> + </mx:columns> + </mx:DataGrid> + <mx:Button label="Refresh Users" horizontalCenter="0" bottom="40" click="freeswitch.getDirUsers(userDomain.selectedItem.uid);"/> + <mx:Button label="Refresh Domains" horizontalCenter="0" bottom="10" click="freeswitch.getDirDomains();"/> + <mx:Button label="Add User" click="doNewUserForm();" horizontalCenter="0" bottom="100"/> + <mx:Button label="Delete User" click="doNewUserForm();" horizontalCenter="0" bottom="70"/> + </mx:Canvas> + <mx:Canvas width="80%" height="100%"> + <mx:Label text="UID:" top="10" left="10"/> + <mx:Label text="{dgDomainUsers.selectedItem.uid}" id="userUid" top="10" left="49"/> + <mx:Label text="Name:" top="12" left="173"/> + <mx:TextInput id="userName" text="{dgDomainUsers.selectedItem.username}" top="10" left="224"/> + <mx:CheckBox label="Enabled" id="userEnabled" enabled="{dgDomainUsers.selectedItem.enabled}" right="330" top="8" left="493"/> + <mx:DataGrid left="10" top="40" bottom="86" width="45%" dataProvider="{freeswitch.getDirUser.lastResult.params}" + change="dgChangeDomainUserParam();" editable="true" id="dgDomainUserParam"> + <mx:columns> + <mx:DataGridColumn headerText="Parameter" dataField="name" width="120" editable="false"/> + <mx:DataGridColumn headerText="Value" dataField="value"/> + </mx:columns> + </mx:DataGrid> + <mx:DataGrid right="10" top="40" bottom="86" width="45%" dataProvider="{freeswitch.getDirUser.lastResult.variables}" + change="dgChangeDomainVars();" editable="true" id="dgDomainUserVars"> + <mx:columns> + <mx:DataGridColumn headerText="Variable" dataField="name" width="120" editable="false"/> + <mx:DataGridColumn headerText="Data" dataField="value"/> + </mx:columns> + </mx:DataGrid> + <mx:Button label="Refresh User" right="10" top="8" height="22"/> + <mx:Button label="Add Parameter" left="139" bottom="10" click="addDomainUserParam()"/> + <mx:Button label="Delete Param" bottom="10" left="26"/> + <mx:Button label="Add Variable" bottom="10" right="183" width="99" click="addDomainUserVar()"/> + <mx:Label text="Parameter" bottom="60" left="10"/> + <mx:TextInput width="121" id="inputDomainUserParamName" bottom="40" left="10"/> + <mx:TextInput width="272" id="inputDomainUserParamValue" bottom="40" left="139"/> + <mx:Label text="Variable" bottom="60" right="361"/> + <mx:TextInput width="121" id="inputDomainUserVarName" bottom="40" right="290"/> + <mx:TextInput width="272" id="inputDomainUserVarValue" bottom="40" right="10"/> + <mx:Label text="Data" bottom="60" right="251"/> + <mx:Label text="Value" bottom="60" left="139"/> + <mx:Button label="Delete Variable" bottom="10" right="290"/> + </mx:Canvas> + </mx:HDividedBox> + </mx:Canvas> + <mx:Canvas label="Groups" width="100%" height="100%"> + <mx:HDividedBox x="0" y="0" width="100%" height="100%"> + <mx:Canvas width="20%" height="100%"> + <mx:ComboBox top="10" horizontalCenter="0" id="groupsDomain" dataProvider="{freeswitch.getDirDomains.lastResult}" labelField="name"></mx:ComboBox> + <mx:DataGrid id="dgDirGroups" width="100%" horizontalCenter="0" top="40" bottom="70" dataProvider="{freeswitch.getDirGroups.lastResult}" + click="freeswitch.getDirGroup(dgDirGroups.selectedItem.uid)"> + <mx:columns> + <mx:DataGridColumn headerText="Group" dataField="name"/> + </mx:columns> + </mx:DataGrid> + <mx:Button label="Refresh Groups" horizontalCenter="0" bottom="40" click="freeswitch.getDirGroups(groupsDomain.selectedItem.uid)"/> + <mx:Button label="Refresh Domains" horizontalCenter="0" bottom="10" click="freeswitch.getDirDomains()"/> + </mx:Canvas> + <mx:Canvas width="80%" height="100%"> + <mx:DataGrid width="45%" left="10" top="0" bottom="70" dataProvider="{freeswitch.getDirGroup.lastResult.members}" + dragEnabled="true" dragMoveEnabled="true" dropEnabled="true"> + <mx:columns> + <mx:DataGridColumn headerText="Member" dataField="usersUsername"/> + </mx:columns> + </mx:DataGrid> + <mx:DataGrid width="45%" right="10" top="0" bottom="70" dataProvider="{freeswitch.getDirGroup.lastResult.nonmembers}" + dragEnabled="true" dragMoveEnabled="true" dropEnabled="true"> + <mx:columns> + <mx:DataGridColumn headerText="Available to Join" dataField="usersUsername"/> + </mx:columns> + </mx:DataGrid> + <mx:Button label="Refresh" left="10" bottom="40" click="freeswitch.getDirGroup(dgDirGroups.selectedItem.uid)"/> + <mx:Label text="New Group" right="274" bottom="42"/> + <mx:TextInput width="256" right="10" bottom="40" id="textNewGroup"/> + <mx:Button label="Create Group" right="10" bottom="10" click="doGroupAdd();"/> + </mx:Canvas> + </mx:HDividedBox> + </mx:Canvas> + </mx:TabNavigator> + </mx:Canvas> + </mx:TabNavigator> + </mx:Canvas> + </mx:TitleWindow> + </mx:AddChild> + </mx:State> + + </mx:states> + + <mx:Style source="assets/css/Main.css"/> + + <mx:Blur id="unblurImage" duration="1000" + blurXFrom="10.0" blurXTo="0.0" + blurYFrom="10.0" blurYTo="0.0"/> + <mx:Canvas width="100%" height="100%" id="loginCanvas" styleName="Global"> + <mx:TitleWindow defaultButton="{buttonLogin}" resizeEffect="Resize" width="382" height="198" layout="vertical" + verticalAlign="middle" horizontalAlign="center" title="Codename: Shipment" + id="loginWindow" creationCompleteEffect="{unblurImage}" horizontalCenter="0" verticalCenter="0"> + <mx:HBox width="100%" id="hbox1"> + <mx:Label text="Username" width="70" fontWeight="bold" textAlign="right"/> + <mx:TextInput id="username" displayAsPassword="false" width="100%" creationComplete="setFocus()"/> + </mx:HBox> + <mx:HBox width="100%" id="hbox2"> + <mx:Label text="Password" width="70" fontWeight="bold" textAlign="right" id="label1"/> + <mx:TextInput id="password" displayAsPassword="true" width="100%" /> + </mx:HBox> + <mx:Spacer height="100%" id="spacer1"/> + <mx:Button label="Login" click="{buttonLogin.label = 'Logging In...'; loginWindow.enabled = false; fakeLogin(); }" id="buttonLogin"/> + </mx:TitleWindow> + </mx:Canvas> </mx:Application> \ No newline at end of file Added: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/newGroupForm.mxml ============================================================================== --- (empty file) +++ freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/newGroupForm.mxml Mon Mar 16 06:33:34 2009 @@ -0,0 +1,45 @@ +<?xml version="1.0"?> +<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="doInit();" height="306" title="Add Domain"> + <mx:Script> + <![CDATA[ + import mx.managers.PopUpManager; + import mx.controls.Alert; + import mx.rpc.events.ResultEvent; + + private function doInit():void { + PopUpManager.centerPopUp(this); + } + + private function doCall():void { + parentApplication.freeswitch.addDirDomain(domainName.text, dialString.text, defaultGateway.text, defaultAreacode.text, xferFallbackExten.text, recordStereo.selected); + PopUpManager.removePopUp(this); + } + ]]> + </mx:Script> + + <mx:Form width="100%"> + <mx:FormItem label="Domain Name" width="100%"> + <mx:TextInput id="domainName" width="100%"/> + </mx:FormItem> + <mx:FormItem label="Dial String" width="100%"> + <mx:TextInput id="dialString" width="100%"/> + </mx:FormItem> + <mx:FormItem label="default_gateway" width="100%"> + <mx:TextInput id="defaultGateway" width="100%"/> + </mx:FormItem> + <mx:FormItem label="Default Areacode" width="100%"> + <mx:TextInput id="defaultAreacode" width="100%"/> + </mx:FormItem> + <mx:FormItem label="Xfer Fallback Exten" width="100%"> + <mx:TextInput id="xferFallbackExten" width="100%"/> + </mx:FormItem> + <mx:FormItem label="Record Stereo"> + <mx:CheckBox id="recordStereo" /> + </mx:FormItem> + + </mx:Form> + <mx:HBox horizontalAlign="center" width="314"> + <mx:Button click="doCall();" label="Add Domain"/> + <mx:Button click="PopUpManager.removePopUp(this);" label="Cancel"/> + </mx:HBox> +</mx:TitleWindow> \ No newline at end of file Modified: freeswitch/trunk/scripts/contrib/swk/php/amfphp/freeswitch.php ============================================================================== --- freeswitch/trunk/scripts/contrib/swk/php/amfphp/freeswitch.php (original) +++ freeswitch/trunk/scripts/contrib/swk/php/amfphp/freeswitch.php Mon Mar 16 06:33:34 2009 @@ -43,14 +43,16 @@ private function getDbh(){ $dbtype='mysql'; /* Set the Database type */ - $db_hostname = 'localhost'; /* Database Server hostname */ + // $db_hostname = 'localhost'; /* Database Server hostname */ + $db_hostname = '192.168.1.140'; /* Database Server hostname */ + $db_port = '3306'; /* Database Server Port */ $db_username = 'root'; /* Database Server username */ $db_password = 'password'; /* Database Server password */ $db_database = 'shipment'; /* DataBase Name */ if ($dbtype == 'mysql') { $pdo_flags = array(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true,); } - $dbh = new PDO("$dbtype:host=$db_hostname;dbname=$db_database", $db_username, $db_password, $pdo_flags); + $dbh = new PDO("$dbtype:host=$db_hostname;port=$db_port;dbname=$db_database", $db_username, $db_password, $pdo_flags); return $dbh; } @@ -256,12 +258,12 @@ return $results; } - public function getDirDomain($domain_uid){ + public function getDirDomain($domains_uid){ $dbh = $this->getDbh(); - $query = sprintf("select * from domain_params where domains_uid = $domain_uid"); + $query = sprintf("select * from domain_params where domains_uid = $domains_uid"); $stmt = $dbh->query($query); $results['params'] = $stmt->fetchAll(); - $query = sprintf("select * from domain_variables where domains_uid = $domain_uid"); + $query = sprintf("select * from domain_variables where domains_uid = $domains_uid"); $stmt = $dbh->query($query); $results['variables'] = $stmt->fetchAll(); return $results; @@ -273,16 +275,16 @@ return $dbh->exec($query); } - public function addDirDomainParam($domain_uid, $name, $value) { + public function addDirDomainParam($domains_uid, $name, $value) { $dbh = $this->getDbh(); - $query = sprintf('insert into domain_params (domain_uid, name, value) values (%s, "%s", "%s")', $domain_uid, $name, $value); + $query = sprintf('insert into domain_params (domains_uid, name, value) values (%s, "%s", "%s")', $domains_uid, $name, $value); return $dbh->exec($query); } - public function addDirDomainVar($domain_uid, $name, $value) { + public function addDirDomainVar($domains_uid, $name, $value) { $dbh = $this->getDbh(); - $query = sprintf('insert into domain_variables (domain_uid, name, value) values (%s, "%s", "%s")', $domain_uid, $name, $value); - return $dbh->exec($query); + $query = sprintf('insert into domain_variables (domains_uid, name, value) values (%s, "%s", "%s")', $domains_uid, $name, $value); + $dbh->exec($query); } public function updateDirDomainParam($param_uid, $name, $value) { @@ -310,18 +312,42 @@ return $results; } - public function getDirUsers($domain_uid){ + public function getDirUsers($domains_uid){ $dbh = $this->getDbh(); - $query = sprintf("select * from users where domain_uid = $domain_uid"); + $query = sprintf("select * from users where domains_uid = $domains_uid"); $stmt = $dbh->query($query); $results = $stmt->fetchAll(); return $results; } + public function addDirDomainUserParam($users_uid, $name, $value) { + $dbh = $this->getDbh(); + $query = sprintf('insert into user_params (users_uid, name, value) values (%s, "%s", "%s")', $users_uid, $name, $value); + return $dbh->exec($query); + } + + public function addDirDomainUserVar($users_uid, $name, $value) { + $dbh = $this->getDbh(); + $query = sprintf('insert into user_variables (users_uid, name, value) values (%s, "%s", "%s")', $users_uid, $name, $value); + $dbh->exec($query); + } + + public function updateDirDomainUserParam($param_uid, $name, $value) { + $dbh = $this->getDbh(); + $query = sprintf('update user_params set name = "%s", value = "%s" where uid=%s', $param_uid, $name, $value); + return $dbh->exec($query); + } + + public function updateDirDomainUserVar($var_uid, $name, $value) { + $dbh = $this->getDbh(); + $query = sprintf('update user_variables set name = "%s", value = "%s" where uid=%s', $var_uid, $name, $value); + return $dbh->exec($query); + } + /* Directory Group Methods */ - public function getDirGroups($domain_uid){ + public function getDirGroups($domains_uid){ $dbh = $this->getDbh(); - $query = sprintf("select * from groups where domains_uid = $domain_uid"); + $query = sprintf("select * from groups where domains_uid = $domains_uid"); $stmt = $dbh->query($query); $results = $stmt->fetchAll(); return $results; @@ -332,12 +358,23 @@ $query = sprintf("select a.uid as groupMemberUid, a.users_uid as usersUid, b.username as usersUsername from group_members as a, users as b where a.groups_uid = $groups_uid and a.users_uid = b.uid") ; $stmt = $dbh->query($query); $results['members'] = $stmt->fetchAll(); - $query = sprintf("select uid as usersUid, username as usersUsername from users where uid not in (select users_uid from group_members where groups_uid = $groups_uid) and domain_uid = (select domains_uid from groups where uid = $groups_uid)"); + $query = sprintf("select uid as usersUid, username as usersUsername from users where uid not in (select users_uid from group_members where groups_uid = $groups_uid) and domains_uid = (select domains_uid from groups where uid = $groups_uid)"); $stmt = $dbh->query($query); $results['nonmembers'] = $stmt->fetchAll(); return $results; } + public function addDirGroup($domains_uid, $new_groupname){ + $dbh = $this->getDbh(); + $query = sprintf("insert into groups (domains_uid, name) values (%s, '%s')", $domains_uid, $new_groupname); + + if ($dbh->exec($query) > 0){ + return "INSERTED"; + } else { + return "FAILED $query"; + } + } + } /* For Emacs: * Local Variables:
participants (1)
-
FreeSWITCH SVN