コード例 #1
0
ファイル: JsController.php プロジェクト: webcitron/subframe
 public function render($strApplicationName, $numEnableCaching = 1)
 {
     if ($this->boolRunJs !== true) {
         return;
     }
     $this->arrScriptsToLoad = array_unique($this->arrScriptsToLoad);
     $strApplicationBaseUrl = \webcitron\Subframe\Application::url();
     $objLanguages = Languages::getInstance();
     $strCurrentLanguage = $objLanguages->getCurrentLanguage();
     $strPostfixCache = '';
     if ($numEnableCaching === 0) {
         $strPostfixCache = '&_=' . time();
     }
     $strLaunchCode = '<script>' . PHP_EOL;
     $strLaunchCode .= 'var boolIsPuppiesBlocked = true;' . PHP_EOL;
     $strLaunchCode .= '</script>' . PHP_EOL;
     $strLaunchCode .= sprintf('<script type="text/javascript" src="%s/subframe/js/adblock-advertisement.js?%s%s"></script>', $strApplicationBaseUrl, $this->strCurrentCommit, $strPostfixCache) . PHP_EOL;
     //        $strLaunchCode .= sprintf('<script type="text/javascript" src="%s/subframe/js/vendor/head/dist/1.0.0/head.min.js?%s"></script>', $strApplicationBaseUrl, $this->strCurrentCommit).PHP_EOL;
     //        $strLaunchCode .= sprintf('<script type="text/javascript" src="%s/bower_components/jquery/dist/jquery.min.js?%s%s"></script>', $strApplicationBaseUrl, $this->strCurrentCommit, $strPostfixCache).PHP_EOL;
     $strLaunchCode .= sprintf('<script type="text/javascript" src="%s/subframe/js/AssetLoader.js?%s%s"></script>', $strApplicationBaseUrl, $this->strCurrentCommit, $strPostfixCache) . PHP_EOL;
     $strLaunchCode .= sprintf('<script type="text/javascript" src="%s/subframe/js/Launcher.js?%s%s"></script>', $strApplicationBaseUrl, $this->strCurrentCommit, $strPostfixCache) . PHP_EOL;
     $strLaunchCode .= '<script>' . PHP_EOL;
     $strLaunchCode .= sprintf('var objLauncher = new Subframe.Lib.Launcher("%s", "%s", "%s", "%s", %s, ["%s"]);', $strApplicationName, $strApplicationBaseUrl, $strCurrentLanguage, $this->strCurrentCommit, $numEnableCaching, join('", "', $this->arrScriptsToLoad)) . PHP_EOL;
     $strLaunchCode .= 'objLauncher.init();' . PHP_EOL;
     $strLaunchCode .= '</script>' . PHP_EOL;
     return $strLaunchCode;
 }
コード例 #2
0
ファイル: Application.php プロジェクト: webcitron/subframe
 private function __construct()
 {
     Request::read();
     $this->objLanguages = Languages::getInstance();
     $this->recognize();
     $this->setErrorHandler();
     $this->loadConfig();
 }
コード例 #3
0
ファイル: Router.php プロジェクト: webcitron/subframe
 public function dispath()
 {
     $objRequest = Request::getInstance();
     $strCurrentUri = $objRequest->getUri();
     $objLanguages = Languages::getInstance();
     $strCurrentLanguage = $objLanguages->getCurrentLanguage();
     self::$objCurrentRoute = $this->findRoute($strCurrentUri, $strCurrentLanguage);
     return self::$objCurrentRoute;
 }
コード例 #4
0
ファイル: Url.php プロジェクト: webcitron/subframe
 public static function route($strRouteName, $arrParams = array(), $strLanguage = null)
 {
     $strUri = '';
     if (empty($strLanguage)) {
         $objLanguages = Languages::getInstance();
         $strLanguage = $objLanguages->getCurrentLanguage();
     }
     if (strpos($strRouteName, '::') === false) {
         $strRouteName .= '::index';
     }
     $objRouter = Router::getInstance();
     $objRoute = $objRouter->getRouteByNameAndLang($strRouteName, $strLanguage);
     if (empty($objRoute)) {
         $objRoute = $objRouter->getRouteByName('Homepage');
     }
     if (!empty($objRoute)) {
         $strUri = $objRoute->buildUri($arrParams);
     }
     return $strUri;
 }
コード例 #5
0
ファイル: Blitz.php プロジェクト: webcitron/subframe
 public function makeGrid($arrItems, $arrViewLayout, $arrAdverts = array(), $numPerPage = 0)
 {
     $strHtml = '';
     if (!empty($arrItems)) {
         $strCurrentLanguage = Languages::getInstance()->getCurrentLanguage();
         $strAddedWord = $strCurrentLanguage === 'pl_PL' ? 'dodano' : 'added';
         $strSeeWord = $strCurrentLanguage === 'pl_PL' ? 'Zobacz' : 'Details';
         $strHtml .= '<div class="stream-row">';
         $arrConfig = array();
         foreach ($arrViewLayout as $arrViewRow) {
             $arrConfigRow = array();
             foreach ($arrViewRow as $arrViewCell) {
                 $numColNormal = $arrViewCell[0];
                 $numColMobile = $arrViewCell[1];
                 $arrConfigRow[] = sprintf('col-md-%d col-sm-%d', $numColNormal, $numColMobile);
             }
             $arrConfig[] = array(count($arrConfigRow), $arrConfigRow);
         }
         $numRowConfigIndex = 0;
         $numItemInRowIndex = 0;
         $numItemListingIndex = 0;
         $strTempalatePath = dirname(__FILE__) . '/../../../../../app/imagehost3/box/artifact/view/GridItemTemplate.blitz.tpl';
         // put advert
         //            echo count($arrItems);
         //            exit();
         if (!empty($arrAdverts)) {
             foreach ($arrAdverts as $numAdvertNo => $strAdvert) {
                 $numRandFrom = $numAdvertNo * $numPerPage;
                 $numRandTo = $numRandFrom + $numPerPage;
                 $numInsertBefore = rand($numRandFrom, $numRandTo);
                 array_splice($arrItems, $numInsertBefore, 0, array(array('isAdvert' => true, 'code' => $strAdvert)));
                 //                    echo $numAdvertNo .' -> '.$strAdvert.'<br />';
                 //                    exit();
             }
             //                exit();
             //                $numInsertBefore = rand(0, count($arrItems)-1);
             //                array_splice($arrItems, $numInsertBefore, 0, array(array('isAdvert' => true, 'code' => $arrAdverts[0])));
         }
         //
         foreach ($arrItems as $arrItem) {
             if ($numItemInRowIndex === count($arrConfig[$numRowConfigIndex][1])) {
                 // change row
                 $numRowConfigIndex++;
                 if ($numRowConfigIndex === count($arrConfig)) {
                     $numRowConfigIndex = 0;
                 }
                 $numItemInRowIndex = 0;
                 $strHtml .= '</div><div class="row stream-row">';
             }
             $strCellClasses = $arrConfig[$numRowConfigIndex][1][$numItemInRowIndex];
             if (isset($arrItem['isAdvert']) && $arrItem['isAdvert'] === true) {
                 $strCell = $arrItem['code'];
             } else {
                 $arrItem['title'] = ucfirst(stripslashes($arrItem['title']));
                 $arrItem['description'] = stripslashes($arrItem['description']);
                 $arrItem['strAlt'] = strip_tags(trim($arrItem['title'], '. ') . '. ' . trim($arrItem['description']));
                 $arrItem['added_word'] = $strAddedWord;
                 $arrItem['see_word'] = $strSeeWord;
                 if (strlen($arrItem['strAlt']) > 200) {
                     $arrItem['strAlt'] = mb_substr($arrItem['strAlt'], 0, 200, 'UTF-8') . '...';
                 }
                 $strCell = $this->include($strTempalatePath, $arrItem);
             }
             if ($numItemListingIndex + 1 > $numPerPage) {
                 $strCellClasses .= ' loaded-buffor';
             }
             $strHtml .= '<div class="item-wrapper ' . $strCellClasses . '">' . $strCell . '</div>';
             $numItemInRowIndex++;
             $numItemListingIndex++;
         }
         $strHtml .= '</div>';
     }
     return $strHtml;
 }