{"type":"rich","version":"1.0","provider_name":"phorkie","provider_url":"https:\/\/p.cweiske.de\/","title":"typo3 tt_address: link telephone number correctly","author_name":"Christian Weiske","cache_age":86400,"width":900,"height":900,"html":"<!-- embedding all files of https:\/\/p.cweiske.de\/45 -->\n<link rel=\"stylesheet\" href=\"https:\/\/p.cweiske.de\/css\/embed.css\"\/>\n<div class=\"phork\" id=\"45\">\n    <div class=\"phork-file\">\n <div class=\"phork-content\">\n  <style type=\"text\/css\">\/**\n * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann\n * (http:\/\/qbnz.com\/highlighter\/ and http:\/\/geshi.org\/)\n *\/\n.typoscript .de1, .typoscript .de2 {font: normal normal 1em\/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;}\n.typoscript  {font-family:monospace;}\n.typoscript .imp {font-weight: bold; color: red;}\n.typoscript li, .typoscript .li1 {color: #DDD;}\n.typoscript .ln {width:1px;text-align:right;margin:0;padding:0 2px;vertical-align:top;}\n.typoscript .kw1 {color: #ed7d14;}\n.typoscript .kw2 {font-weight: bold;}\n.typoscript .kw3 {color: #990000; font-weight: bold;}\n.typoscript .kw4 {color: #990000; font-weight: bold;}\n.typoscript .kw5 {color: #990000; font-weight: bold;}\n.typoscript .kw6 {color: #990000; font-weight: bold;}\n.typoscript .kw7 {color: #990000; font-weight: bold;}\n.typoscript .kw8 {font-weight: bold;}\n.typoscript .kw9 {color: #990000; font-weight: bold;}\n.typoscript .co1 {color: #aaa; font-style: italic;}\n.typoscript .co2 {color: #aaa; font-style: italic;}\n.typoscript .coMULTI {color: #aaa; font-style: italic;}\n.typoscript .br0 {color: #009900;}\n.typoscript .sy0 {color: #339933; font-weight: bold;}\n.typoscript .sy1 {color: #009900; font-weight: bold;}\n.typoscript .st0 {color: #ac14aa;}\n.typoscript .nu0 {color: #cc0000;}\n.typoscript .me1 {color: #0000e0; font-weight: bold;}\n.typoscript .me2 {color: #0000e0; font-weight: bold;}\n.typoscript .re0 {color: #009900;}\n.typoscript .re1 {color: #009900; font-weight: bold;}\n.typoscript .re2 {color: #3366CC;}\n.typoscript .re3 {color: #000066; font-weight: bold;}\n.typoscript .re4 {color: #ed7d14;}\n.typoscript .re5 {color: #000066; font-weight: bold;}\n.typoscript .re6 {color: #009900;}\n.typoscript .re7 {color: #3366CC;}\n.typoscript span.xtra { display:block; }\n<\/style><div class=\"code\"><table class=\"typoscript\"><tbody><tr class=\"li1\"><td class=\"ln\"><pre class=\"de1\">1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12\n13\n<\/pre><\/td><td class=\"de1\"><pre class=\"de1\"><span class=\"re5\">includeLibs<\/span><span class=\"sy0\">.<\/span>tt_address <span class=\"sy0\">=<\/span> fileadmin<span class=\"sy0\">\/<\/span>example<span class=\"sy0\">.<\/span>org<span class=\"sy0\">\/<\/span><span class=\"re3\">tt_address<\/span><span class=\"sy0\">\/<\/span>tel<span class=\"sy0\">.<\/span>php\n&#160;\n<a href=\"http:\/\/documentation.typo3.org\/documentation\/tsref\/tlo-objects\/plugin\/\"><span class=\"kw3\">plugin<\/span><\/a><span class=\"sy0\">.<\/span>tx_ttaddress_pi1 <span class=\"br0\">&#123;<\/span>\n&#160; &#160; pidList <span class=\"sy0\">=<\/span> <span class=\"nu0\">25<\/span>\n&#160; &#160; templatePath <span class=\"sy0\">=<\/span> fileadmin<span class=\"sy0\">\/<\/span>example<span class=\"sy0\">.<\/span>org<span class=\"sy0\">\/<\/span><span class=\"re3\">tt_address<\/span><span class=\"sy0\">\/<\/span>\n&#160;\n&#160; &#160; templates<span class=\"sy0\">.<\/span>kita <span class=\"sy0\">&lt;<\/span> templates<span class=\"sy0\">.<\/span>default\n&#160; &#160; templates<span class=\"sy0\">.<\/span>kita <span class=\"br0\">&#123;<\/span>\n&#160; &#160; &#160; &#160; &#160;phone<span class=\"sy0\">.<\/span>postUserFunc <span class=\"sy0\">=<\/span> <span class=\"re3\">user_tt_address_tel<\/span>\n&#160; &#160; &#160; &#160; &#160;phone<span class=\"sy0\">.<\/span>postUserFunc<span class=\"sy0\">.<\/span>countryCode <span class=\"sy0\">=<\/span> <span class=\"nu0\">49<\/span>\n&#160; &#160; &#160; &#160; &#160;phone<span class=\"sy0\">.<\/span>postUserFunc<span class=\"sy0\">.<\/span>areaCode <span class=\"sy0\">=<\/span> <span class=\"nu0\">3425<\/span>\n&#160; &#160; <span class=\"br0\">&#125;<\/span>\n<span class=\"br0\">&#125;<\/span><\/pre><\/td><\/tr><\/tbody><\/table><\/div>\n <\/div>\n <div class=\"phork-meta\">\n  <a href=\"https:\/\/p.cweiske.de\/45\/rev-raw\/040c1172db99d91eb7c05916b0c185d2f05706eb\/0-typoscript.ts\" style=\"float: right\">view raw source<\/a>\n  <a href=\"https:\/\/p.cweiske.de\/45#0-typoscript.ts\">0-typoscript.ts<\/a>\n <\/div>\n<\/div>\n    <div class=\"phork-file\">\n <div class=\"phork-content\">\n  <style type=\"text\/css\">\/**\n * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann\n * (http:\/\/qbnz.com\/highlighter\/ and http:\/\/geshi.org\/)\n *\/\n.php .de1, .php .de2 {font: normal normal 1em\/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;}\n.php  {font-family:monospace;}\n.php .imp {font-weight: bold; color: red;}\n.php li, .php .li1 {color: #DDD;}\n.php .ln {width:1px;text-align:right;margin:0;padding:0 2px;vertical-align:top;}\n.php .kw1 {color: #b1b100;}\n.php .kw2 {color: #000000; font-weight: bold;}\n.php .kw3 {color: #990000;}\n.php .kw4 {color: #009900; font-weight: bold;}\n.php .co1 {color: #666666; font-style: italic;}\n.php .co2 {color: #666666; font-style: italic;}\n.php .co3 {color: #0000cc; font-style: italic;}\n.php .co4 {color: #009933; font-style: italic;}\n.php .coMULTI {color: #666666; font-style: italic;}\n.php .es0 {color: #000099; font-weight: bold;}\n.php .es1 {color: #000099; font-weight: bold;}\n.php .es2 {color: #660099; font-weight: bold;}\n.php .es3 {color: #660099; font-weight: bold;}\n.php .es4 {color: #006699; font-weight: bold;}\n.php .es5 {color: #006699; font-weight: bold; font-style: italic;}\n.php .es6 {color: #009933; font-weight: bold;}\n.php .es_h {color: #000099; font-weight: bold;}\n.php .br0 {color: #009900;}\n.php .sy0 {color: #339933;}\n.php .sy1 {color: #000000; font-weight: bold;}\n.php .st0 {color: #0000ff;}\n.php .st_h {color: #0000ff;}\n.php .nu0 {color: #cc66cc;}\n.php .nu8 {color: #208080;}\n.php .nu12 {color: #208080;}\n.php .nu19 {color:#800080;}\n.php .me1 {color: #004000;}\n.php .me2 {color: #004000;}\n.php .re0 {color: #000088;}\n.php span.xtra { display:block; }\n<\/style><div class=\"code\"><table class=\"php\"><tbody><tr class=\"li1\"><td class=\"ln\"><pre class=\"de1\">1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12\n13\n14\n15\n16\n17\n18\n19\n20\n21\n22\n23\n24\n25\n26\n27\n28\n29\n30\n31\n32\n33\n34\n35\n36\n37\n38\n39\n40\n41\n42\n43\n44\n45\n46\n47\n48\n49\n50\n51\n52\n53\n54\n55\n56\n57\n<\/pre><\/td><td class=\"de1\"><pre class=\"de1\"><span class=\"kw2\">&lt;?php<\/span>\n<span class=\"co4\">\/**<\/span>\n<span class=\"co4\">&#160;* Create tt_address phone link<\/span>\n<span class=\"co4\">&#160;*<\/span>\n<span class=\"co4\">&#160;* @param string $orig tt_address telephone number<\/span>\n<span class=\"co4\">&#160;* @param array &#160;$conf Typoscript configuration for this userfunc<\/span>\n<span class=\"co4\">&#160;*<\/span>\n<span class=\"co4\">&#160;* @return string HTML code with a link to the telephone number<\/span>\n<span class=\"co4\">&#160;*\/<\/span>\n<span class=\"kw2\">function<\/span> user_tt_address_tel<span class=\"br0\">&#40;<\/span><span class=\"re0\">$orig<\/span><span class=\"sy0\">,<\/span> <span class=\"re0\">$conf<\/span><span class=\"br0\">&#41;<\/span>\n<span class=\"br0\">&#123;<\/span>\n&#160; &#160; <span class=\"kw1\">return<\/span> <span class=\"st_h\">'&lt;a class=&quot;tel&quot; href=&quot;tel:'<\/span>\n&#160; &#160; &#160; &#160; <span class=\"sy0\">.<\/span> <a href=\"http:\/\/www.php.net\/htmlspecialchars\"><span class=\"kw3\">htmlspecialchars<\/span><\/a><span class=\"br0\">&#40;<\/span>format_telephone_number_rfc3966<span class=\"br0\">&#40;<\/span><span class=\"re0\">$orig<\/span><span class=\"sy0\">,<\/span> <span class=\"re0\">$conf<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span>\n&#160; &#160; &#160; &#160; <span class=\"sy0\">.<\/span> <span class=\"st_h\">'&quot;&gt;'<\/span> <span class=\"sy0\">.<\/span> <span class=\"re0\">$orig<\/span> <span class=\"sy0\">.<\/span> <span class=\"st_h\">'&lt;\/a&gt;'<\/span><span class=\"sy0\">;<\/span>\n<span class=\"br0\">&#125;<\/span>\n&#160;\n<span class=\"co4\">\/**<\/span>\n<span class=\"co4\">&#160;* Convert a telephone number into a full-featured RFC 3966 telephone number<\/span>\n<span class=\"co4\">&#160;*<\/span>\n<span class=\"co4\">&#160;* @param string $orig Original telephone number, may be partial<\/span>\n<span class=\"co4\">&#160;* @param array &#160;$conf Configuration. Keys:<\/span>\n<span class=\"co4\">&#160;* &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; - &quot;countryCode&quot;: default country code, &quot;49&quot; for Germany<\/span>\n<span class=\"co4\">&#160;* &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; - &quot;areaCode&quot;: default area code, without leading zero<\/span>\n<span class=\"co4\">&#160;*<\/span>\n<span class=\"co4\">&#160;* @return string Full RFC 3966-compatible telephone number<\/span>\n<span class=\"co4\">&#160;*<\/span>\n<span class=\"co4\">&#160;* @author Christian Weiske &lt;cweiske@cweiske.de&gt;<\/span>\n<span class=\"co4\">&#160;*\/<\/span>\n<span class=\"kw2\">function<\/span> format_telephone_number_rfc3966<span class=\"br0\">&#40;<\/span><span class=\"re0\">$orig<\/span><span class=\"sy0\">,<\/span> <span class=\"re0\">$conf<\/span><span class=\"br0\">&#41;<\/span>\n<span class=\"br0\">&#123;<\/span>\n&#160; &#160; <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span><span class=\"sy0\">!<\/span><a href=\"http:\/\/www.php.net\/isset\"><span class=\"kw3\">isset<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"re0\">$conf<\/span><span class=\"br0\">&#91;<\/span><span class=\"st_h\">'countryCode'<\/span><span class=\"br0\">&#93;<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span>\n&#160; &#160; &#160; &#160; <span class=\"re0\">$conf<\/span><span class=\"br0\">&#91;<\/span><span class=\"st_h\">'countryCode'<\/span><span class=\"br0\">&#93;<\/span> <span class=\"sy0\">=<\/span> <span class=\"st_h\">'49'<\/span><span class=\"sy0\">;<\/span><span class=\"co1\">\/\/germany<\/span>\n&#160; &#160; <span class=\"br0\">&#125;<\/span>\n&#160; &#160; <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span><span class=\"sy0\">!<\/span><a href=\"http:\/\/www.php.net\/isset\"><span class=\"kw3\">isset<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"re0\">$conf<\/span><span class=\"br0\">&#91;<\/span><span class=\"st_h\">'areaCode'<\/span><span class=\"br0\">&#93;<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span>\n&#160; &#160; &#160; &#160; <span class=\"re0\">$conf<\/span><span class=\"br0\">&#91;<\/span><span class=\"st_h\">'areaCode'<\/span><span class=\"br0\">&#93;<\/span> <span class=\"sy0\">=<\/span> <span class=\"st_h\">'3425'<\/span><span class=\"sy0\">;<\/span>\n&#160; &#160; <span class=\"br0\">&#125;<\/span>\n&#160;\n&#160; &#160; <span class=\"re0\">$num<\/span> <span class=\"sy0\">=<\/span> <a href=\"http:\/\/www.php.net\/preg_replace\"><span class=\"kw3\">preg_replace<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"st_h\">'#[^+0-9]#'<\/span><span class=\"sy0\">,<\/span> <span class=\"st_h\">''<\/span><span class=\"sy0\">,<\/span> <span class=\"re0\">$orig<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span>\n&#160; &#160; <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span><a href=\"http:\/\/www.php.net\/substr\"><span class=\"kw3\">substr<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"re0\">$num<\/span><span class=\"sy0\">,<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">,<\/span> <span class=\"nu0\">1<\/span><span class=\"br0\">&#41;<\/span> <span class=\"sy0\">==<\/span> <span class=\"st_h\">'+'<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span>\n&#160; &#160; &#160; &#160; <span class=\"co1\">\/\/full telephone number<\/span>\n&#160; &#160; &#160; &#160; <span class=\"re0\">$tel<\/span> <span class=\"sy0\">=<\/span> <span class=\"re0\">$num<\/span><span class=\"sy0\">;<\/span>\n&#160; &#160; <span class=\"br0\">&#125;<\/span> <span class=\"kw1\">else<\/span> <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span><a href=\"http:\/\/www.php.net\/substr\"><span class=\"kw3\">substr<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"re0\">$num<\/span><span class=\"sy0\">,<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">,<\/span> <span class=\"nu0\">2<\/span><span class=\"br0\">&#41;<\/span> <span class=\"sy0\">==<\/span> <span class=\"st_h\">'00'<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span>\n&#160; &#160; &#160; &#160; <span class=\"co1\">\/\/full number with country code, but 00 instead of +<\/span>\n&#160; &#160; &#160; &#160; <span class=\"re0\">$tel<\/span> <span class=\"sy0\">=<\/span> <span class=\"st_h\">'+'<\/span> <span class=\"sy0\">.<\/span> <a href=\"http:\/\/www.php.net\/substr\"><span class=\"kw3\">substr<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"re0\">$num<\/span><span class=\"sy0\">,<\/span> <span class=\"nu0\">2<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span>\n&#160; &#160; <span class=\"br0\">&#125;<\/span> <span class=\"kw1\">else<\/span> <span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span><a href=\"http:\/\/www.php.net\/substr\"><span class=\"kw3\">substr<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"re0\">$num<\/span><span class=\"sy0\">,<\/span> <span class=\"nu0\">0<\/span><span class=\"sy0\">,<\/span> <span class=\"nu0\">1<\/span><span class=\"br0\">&#41;<\/span> <span class=\"sy0\">==<\/span> <span class=\"st_h\">'0'<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span>\n&#160; &#160; &#160; &#160; <span class=\"co1\">\/\/full number without country code<\/span>\n&#160; &#160; &#160; &#160; <span class=\"re0\">$tel<\/span> <span class=\"sy0\">=<\/span> <span class=\"st_h\">'+'<\/span> <span class=\"sy0\">.<\/span> <span class=\"re0\">$conf<\/span><span class=\"br0\">&#91;<\/span><span class=\"st_h\">'countryCode'<\/span><span class=\"br0\">&#93;<\/span> <span class=\"sy0\">.<\/span> <a href=\"http:\/\/www.php.net\/substr\"><span class=\"kw3\">substr<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"re0\">$num<\/span><span class=\"sy0\">,<\/span> <span class=\"nu0\">1<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span>\n&#160; &#160; <span class=\"br0\">&#125;<\/span> <span class=\"kw1\">else<\/span> <span class=\"br0\">&#123;<\/span>\n&#160; &#160; &#160; &#160; <span class=\"co1\">\/\/partial number, no country or area code<\/span>\n&#160; &#160; &#160; &#160; <span class=\"re0\">$tel<\/span> <span class=\"sy0\">=<\/span> <span class=\"st_h\">'+'<\/span> <span class=\"sy0\">.<\/span> <span class=\"re0\">$conf<\/span><span class=\"br0\">&#91;<\/span><span class=\"st_h\">'countryCode'<\/span><span class=\"br0\">&#93;<\/span> <span class=\"sy0\">.<\/span> <span class=\"re0\">$conf<\/span><span class=\"br0\">&#91;<\/span><span class=\"st_h\">'areaCode'<\/span><span class=\"br0\">&#93;<\/span> <span class=\"sy0\">.<\/span> <span class=\"re0\">$num<\/span><span class=\"sy0\">;<\/span>\n&#160; &#160; <span class=\"br0\">&#125;<\/span>\n&#160;\n&#160; &#160; <span class=\"kw1\">return<\/span> <span class=\"re0\">$tel<\/span><span class=\"sy0\">;<\/span>\n<span class=\"br0\">&#125;<\/span>\n&#160;\n<span class=\"sy1\">?&gt;<\/span>\n&#160;<\/pre><\/td><\/tr><\/tbody><\/table><\/div>\n <\/div>\n <div class=\"phork-meta\">\n  <a href=\"https:\/\/p.cweiske.de\/45\/rev-raw\/040c1172db99d91eb7c05916b0c185d2f05706eb\/tel.php\" style=\"float: right\">view raw source<\/a>\n  <a href=\"https:\/\/p.cweiske.de\/45#tel.php\">tel.php<\/a>\n <\/div>\n<\/div>\n<\/div>\n"}
