Ip\Internal\PageAssets::generateHead PHP Method

generateHead() public method

public generateHead ( )
    public function generateHead()
    {
        $cacheVersion = $this->getCacheVersion();
        $cssFiles = $this->getCss();
        $inDesignPreview = false;
        $data = ipRequest()->getRequest();
        if (!empty($data['ipDesign']['pCfg']) || !empty($data['restoreDefault'])) {
            $inDesignPreview = \Ip\Internal\Design\ConfigModel::instance()->isInPreviewState();
        }
        if ($inDesignPreview) {
            $themeAssetsUrl = ipThemeUrl(\Ip\Application::ASSETS_DIR . '/');
            $designService = \Ip\Internal\Design\Service::instance();
            $theme = ipConfig()->theme();
            foreach ($cssFiles as &$file) {
                if (strpos($file['value'], $themeAssetsUrl) === 0) {
                    $pathinfo = pathinfo($file['value']);
                    if ($pathinfo['extension'] == 'css' && $themeAssetsUrl . $pathinfo['basename'] == $file['value']) {
                        $themeFile = \Ip\Application::ASSETS_DIR . '/' . $pathinfo['filename'] . '.less';
                        if (file_exists(ipThemeFile($themeFile))) {
                            $file['value'] = $designService->getRealTimeUrl($theme, $themeFile);
                            $file['cacheFix'] = false;
                        }
                    }
                }
                if ($file['cacheFix']) {
                    $file['value'] .= (strpos($file['value'], '?') !== false ? '&' : '?') . $cacheVersion;
                }
            }
        } else {
            foreach ($cssFiles as &$file) {
                if ($file['cacheFix']) {
                    $file['value'] .= (strpos($file['value'], '?') !== false ? '&' : '?') . $cacheVersion;
                }
            }
        }
        $cssFiles = ipFilter('ipCss', $cssFiles);
        $response = ipResponse();
        $data = array('title' => $response->getTitle(), 'keywords' => $response->getKeywords(), 'description' => $response->getDescription(), 'favicon' => $response->getFavicon(), 'charset' => $response->getCharset(), 'css' => $cssFiles);
        $head = ipView('Ip/Internal/Config/view/head.php', $data)->render();
        $head = ipFilter('ipHead', $head);
        return $head;
    }