public function render($runData) { $sites = $runData->getParameterList()->getParameterValue("sites"); // split sites by ", " $ss = preg_split('/,\\s*/', $sites); $out = ''; $imageUrl = "/common--images/social/"; if ($sites && $sites != "") { foreach ($ss as $siteName) { if ($this->sites[strtolower($siteName)]) { $ss2[] = $this->sites[$siteName]; } } } else { $ss2 = $this->sites; } // render $wikiSite = $runData->getTemp("site"); $page = $runData->getTemp("page"); $pageTitle = $wikiSite->getName(); if ($page) { if ($page->getTitle() != '') { $pageTitle .= ': ' . $page->getTitle(); } $pageName = $page->getUnixName(); } $permalink = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; $out = ''; $id = 'social' . rand(1, 100000); $out .= '<span id="' . $id . '">'; foreach ($ss2 as $key => $site) { $url = $site['url']; $url = str_replace('PERMALINK', urlencode($permalink), $url); $url = str_replace('BLOGNAME', urlencode($wikiSite->getName()), $url); $out .= '<a href="' . $url . '" style="margin: 0 2px" title="' . $site['name'] . '" ' . ($site['onclick'] ? ' onclick="' . $site['onclick'] . '"' : ''); if (isset($site['onclick'])) { $out .= ' onclick="' . $site['onclick'] . '" '; } $out .= '>'; $out .= '<img src="' . $imageUrl . $site['favicon'] . '" alt="' . $site['name'] . '"/></a>'; } $out .= '</span>'; // ok, now fix the d.... title $out .= '<script type="text/javascript"> var socialspan = $("' . $id . '"); var els = socialspan.getElementsByTagName("a"); for(var i=0;i<els.length;i++){ els[i].href = els[i].href.replace("TITLE", encodeURIComponent(document.title)); } </script>'; // purify??? $wt = new WikiTransformation(); $out = $wt->purifyHtml($out); return $out; }