private function getIframeURL(Shindig_Gadget $gadget, GadgetContext $context) { $v = $gadget->getChecksum(); $view = $gadget->getView($context->getView()); $up = ''; foreach ($gadget->gadgetSpec->userPrefs as $pref) { $up .= '&up_' . urlencode($pref['name']) . '=' . urlencode($pref['value']); } $locale = $context->getLocale(); //Note: putting the URL last, else some browsers seem to get confused (reported by hi5) return Shindig_Config::get('default_iframe_prefix') . 'container=' . $context->getContainer() . ($context->getIgnoreCache() ? '&nocache=1' : '&v=' . $v) . ($context->getModuleId() != 0 ? '&mid=' . $context->getModuleId() : '') . '&lang=' . $locale['lang'] . '&country=' . $locale['country'] . '&view=' . $view['view'] . $up . '&url=' . urlencode($context->getUrl()); }
private function renderGadget(Shindig_Gadget $gadget) { $view = $gadget->getView($this->context->getView()); if ($view['type'] == 'URL') { require_once "src/gadgets/render/GadgetUrlRenderer.php"; $gadgetRenderer = new GadgetUrlRenderer($this->context); } elseif ($view['type'] == 'HTML' && empty($view['href'])) { require_once "src/gadgets/render/GadgetHtmlRenderer.php"; $gadgetRenderer = new GadgetHtmlRenderer($this->context); } elseif (empty($view['type']) || !empty($view['href'])) { require_once "src/gadgets/render/GadgetHrefRenderer.php"; $gadgetRenderer = new GadgetHrefRenderer($this->context); } else { throw new GadgetException("Invalid view type"); } $gadgetRenderer->renderGadget($gadget, $view); }