コード例 #1
0
ファイル: Assets.php プロジェクト: nsams/koala-framework
 public function assets(Kwf_Assets_Package $assetsPackage, $language = null)
 {
     if (!$language) {
         $language = Kwf_Trl::getInstance()->getTargetLanguage();
     }
     $indent = str_repeat(' ', 8);
     $ret = '';
     foreach ($assetsPackage->getPackageUrls('text/css', $language) as $file) {
         $ret .= "{$indent}<link rel=\"stylesheet\" type=\"text/css\" href=\"" . htmlspecialchars($file) . "\" />\n";
     }
     foreach ($assetsPackage->getPackageUrls('text/css; media=print', $language) as $file) {
         $ret .= "{$indent}<link rel=\"stylesheet\" type=\"text/css\" href=\"" . htmlspecialchars($file) . "\" ";
         if (!Kwf_Config::getValue('debug.assets.usePrintCssForAllMedia')) {
             $ret .= "media=\"print\" ";
         }
         $ret .= "/>\n";
     }
     foreach ($assetsPackage->getPackageUrls('text/javascript', $language) as $file) {
         $ret .= "{$indent}<script type=\"text/javascript\" src=\"" . htmlspecialchars($file) . "\"></script>\n";
     }
     foreach ($assetsPackage->getPackageUrls('text/javascript; defer', $language) as $file) {
         $ret .= "<script type=\"text/javascript\">\n                var se=document.createElement('script');se.type='text/javascript';se.async=true;\n                se.src='" . $file . "';\n                var s=document.getElementsByTagName('script')[0];s.parentNode.insertBefore(se,s);\n            </script>";
     }
     return $ret;
 }
コード例 #2
0
 public function testPackageUrlsNoDefer()
 {
     $p = new Kwf_Assets_Package($this->_list, 'C');
     $urls = $p->getPackageUrls('text/javascript', 'en');
     $this->assertCount(1, $urls);
     $urls = $p->getPackageUrls('text/javascript; defer', 'en');
     $this->assertCount(0, $urls);
 }
コード例 #3
0
ファイル: Form.php プロジェクト: nsams/koala-framework
 public function setAssetsPackage(Kwf_Assets_Package $package)
 {
     $t = Kwf_Model_Abstract::getInstance(Kwc_Abstract::getSetting($this->getClass(), 'stylesModel'));
     $urls = $package->getPackageUrls('text/css', Kwf_Trl::getInstance()->getTargetLanguage());
     $styleEditorUrl = Kwc_Admin::getInstance($this->getClass())->getControllerUrl() . '/styles-content';
     $styleEditorUrl .= '?t=' . $t->getMTime();
     $urls[] = $styleEditorUrl;
     $this->fields['content']->setStylesCssFile($styleEditorUrl);
     $this->fields['content']->setCssFiles($urls);
 }
コード例 #4
0
 public function testPackageDispatch()
 {
     $package = new Kwf_Assets_Package($this->_list, 'Test');
     $urls = $package->getPackageUrls('text/javascript', 'en');
     $this->assertEquals(1, count($urls));
     $url = $urls[0];
     $output = Kwf_Assets_Dispatcher::getInstance()->getOutputForUrl($url, Kwf_Media_Output::ENCODING_NONE);
     $contents = trim($output['contents']);
     $contents = str_replace("\n\n", "\n", $contents);
     $this->assertRegExp("/^foo2;\nbar2;\nfoo;\nbar;\n\\/\\/# sourceMappingURL=/", $contents);
 }