IP Phone: Difference between revisions

From Medien Wiki
mNo edit summary
Line 32: Line 32:
on perform action for p with e
on perform action for p with e
set ABPhoneNumber to words of "+49 3643 58-3871"
set ABPhoneNumber to value of e
set ABPhoneNumber to ABPhoneNumber as string
set ABPhoneNumber to ABPhoneNumber as string
set theNumber to findReplace("+49", "0", ABPhoneNumber)
set theNumber to findReplace("+49", "0", ABPhoneNumber)

Revision as of 14:56, 13 May 2011

Kontextmenü in OS X Adress Book

Um über ein Klick den im OS X Adressbuch geöffneten Kontakt anzuwählen kann folgendes AppleScript verwendet werden, es kann als Call with IP Phone.scpt in ~/Library/Address Book plugins/ gelegt werden.

on findReplace(findText, replaceText, sourceText)
	set ASTID to AppleScript's text item delimiters
	set AppleScript's text item delimiters to findText
	set sourceText to text items of sourceText
	set AppleScript's text item delimiters to replaceText
	set sourceText to "" & sourceText
	set AppleScript's text item delimiters to ASTID
	return sourceText
end findReplace

using terms from application "Address Book"
	on action property
		return "phone"
	end action property
	
	on action title for p with e
		return "mit IP Phone wählen"
	end action title
	
	on should enable action for p with e
		return true
	end should enable action
	
	on perform action for p with e
		set ABPhoneNumber to value of e
		set ABPhoneNumber to ABPhoneNumber as string
		set theNumber to findReplace("+49", "0", ABPhoneNumber)
		set theNicePhoneNumber to "0" & theNumber
		
		tell application "Safari"
			activate
			open location "https://telefon.uni-weimar.de/webdialer/Webdialer"
			delay 1
			tell application "Safari"
				do JavaScript "document.forms['loginForm'].elements['destination'].value ='" & theNicePhoneNumber & "'" in document 1
				do JavaScript "document.forms['loginForm'].elements['dial'].click()" in document 1
			end tell
		end tell
		return true
	end perform action
end using terms from