コード例 #1
0
function cdn_postprocess($css)
{
    $file = $_SERVER['SCRIPT_FILENAME'];
    $css_dir = dirname($file);
    if (!preg_match_all('/url\\s*\\(\\s*[\'"]?(.+?)[\'"]?\\s*\\)/', $css, $matches, PREG_PATTERN_ORDER)) {
        return $css;
    }
    $paths = $matches[1];
    $css_footer = "\n/*\ncss.prepend.php translations:\n\n";
    $search = array();
    $replace = array();
    foreach ($paths as $index => $path) {
        $orig_path = $path;
        $orig_match = $matches[0][$index];
        if (isset($search[$orig_match])) {
            continue;
        }
        $path = cdn_relative_path($css_dir, $path);
        $path = PSU::cdn($path, $file);
        if ($path != $orig_path) {
            $search[$orig_match] = $orig_match;
            // the complete original match
            $replace[$orig_match] = 'url(' . $path . ')';
        }
    }
    foreach ($search as $key => $path) {
        $css_footer .= "{$path} -> " . $replace[$key] . "\n";
    }
    $css_footer .= "*/";
    $css = str_replace($search, $replace, $css);
    if (false) {
        $css .= $css_footer;
    }
    return $css;
}
コード例 #2
0
ignore_user_abort(true);
// Call Log Web Home
$HOST = 'https://' . $_SERVER['SERVER_NAME'];
$GLOBALS['BASE_URL'] = $HOST . '/webapp/calllog';
$GLOBALS['BASE_DIR'] = __DIR__;
define('CALL_LOG_WEB_HOME', $GLOBALS['BASE_URL']);
$GLOBALS['DEVELOPMENT'] = PSU::isdev();
$GLOBALS['uploads'] = '/web/uploads/webapp/calllog/attachments';
// Call Log Administrative Web Home
define('TEMPLATE_DIR', __DIR__ . '/templates');
define('TEMPLATE_ADMIN_DIR', TEMPLATE_DIR . '/admin');
$GLOBALS['TEMPLATES'] = TEMPLATE_DIR;
// Absolute Path To Cascading Style Sheet (CSS) Files
define('CSS_DIR', __DIR__ . '/css');
// Web Path To CSS Files
define('CSS_WEB_DIR', PSU::cdn($GLOBALS['BASE_URL'] . '/css'));
$GLOBALS['CSS_WEB_DIR'] = CSS_WEB_DIR;
// Web Path To JS Files
define('JS_WEB_DIR', $GLOBALS['BASE_URL'] . '/js');
$GLOBALS['JS_WEB_DIR'] = JS_WEB_DIR;
$GLOBALS['HELPDESK_EMAIL'] = '*****@*****.**';
define('INCLUDES_DIR', __DIR__ . '/includes');
define('FUNCTIONS_DIR', INCLUDES_DIR . '/functions');
// Callog functions
$INCLUDES = __DIR__ . "/includes";
// use the include variable to reference all app specific includes
$IMAGES = $GLOBALS['BASE_URL'] . '/images';
// End variable definitions
define('MAGPIE_CACHE_ON', false);
require_once 'magpierss/rss_fetch.inc';
require_once 'functions.php';
コード例 #3
0
 /**
  * __construct
  *
  * Initial object setup.
  *
  * @param	string|boolean $uid_or_auto indicates how cache and template directories should be set. uid specifies a unique id to build names, true generates paths automatically. leave blank or false to specify these paths yourself.
  */
 function __construct($params = null, $fluid = false, $uid_or_auto = true)
 {
     static::$GLOBAL_STYLE = PSU_BASE_DIR . '/app/core/templates';
     parent::__construct($uid_or_auto);
     if ($_SESSION['impersonate']) {
         \PSU::get('log/impersonate')->write('Impersonation' . (\PSU::isDev() ? ' on dev server' : '') . ': accessing ' . $_SERVER['REQUEST_URI'] . ($_SERVER['HTTP_REFERER'] ? ' via ' . $_SERVER['HTTP_REFERER'] : ''), $_SESSION['username'], serialize($_REQUEST));
     }
     //end if
     if ($GLOBALS['TEMPLATES']) {
         $this->template_dir = $GLOBALS['TEMPLATES'];
     }
     if (!isset($GLOBALS['USE_APPLICATION_STYLE'])) {
         $GLOBALS['USE_APPLICATION_STYLE'] = true;
     }
     if ($params) {
         parse_str($params, $params);
         $key = key($params);
         if (!$params[$key]) {
             $params['page_title'] = str_replace('_', ' ', $key);
         }
         //end if
     }
     //end if
     $this->page_title = $params['page_title'];
     $this->app_title = $params['app_title'] ? $params['app_title'] : ($GLOBALS['TITLE'] ? $GLOBALS['TITLE'] : 'PSU Webapp');
     $this->fluid = $params['fluid'] ? $params['fluid'] : $fluid;
     // register any custom functions
     $this->register_block('box', array($this, 'psu_box'));
     $this->register_block('col', array($this, 'psu_col'));
     $this->register_block('message', array($this, 'psu_message'));
     $this->register_modifier('yesno', array($this, 'yesno'));
     $this->register_modifier('pluralize', array($this, 'pluralize'));
     $this->register_modifier('query_string', 'http_build_query');
     $this->register_function('myrel_access', array($this, 'myrel_access'));
     $this->register_function('myrel_list', array($this, 'myrel_list'));
     $this->register_function('randomid', array($this, 'randomid'));
     $this->register_function('nav', array($this, 'nav'));
     $this->register_function('navselect', array($this, 'navselect'));
     $this->register_modifier('bool2str', array($this, 'bool2str'));
     $this->content_classes = array(\PSU::isDev() ? 'webapp-dev' : 'webapp-prod');
     $this->body_style_classes = array();
     $this->body_style_classes[] = strtolower('month-' . date('F'));
     $this->body_style_classes[] = strtolower('weekday-' . date('l'));
     $this->body_style_classes[] = 'week-' . date('W');
     $this->body_style_classes[] = 'day-of-year-' . date('z');
     $this->body_style_classes[] = 'day-of-month-' . date('j');
     $this->body_style_classes[] = 'hour-' . date('H');
     $this->body_style_classes[] = 'minute-' . date('i');
     if ($_SESSION['username']) {
         $this->body_style_classes[] = 'user-' . $_SESSION['username'];
     }
     //end if
     if ($_SESSION['wp_id']) {
         $this->body_style_classes[] = 'user-' . $_SESSION['wp_id'];
     }
     //end if
     if ($GLOBALS['FANCY_TPL']) {
         $this->body_style_classes[] = 'extra-tag-styles';
     }
     $this->assign('facebook_api', \PSU::fbAPI());
     $this->assign('facebook_enable', $GLOBALS['FACEBOOK_ENABLE'] == true);
     $go = new \go($_SESSION['wp_id'] ? $_SESSION['wp_id'] : $_SESSION['username']);
     $hot_links = $go->cacheGetSites($_SESSION['wp_id'] || $_SESSION['username'] ? 'popular-me' : 'popular-everyone');
     if (sizeof($hot_links) < 5 && $_SESSION['username']) {
         $everyone_links = $go->cacheGetSites('popular-everyone');
         $hot_links = array_merge($hot_links, $everyone_links);
         $hot_links = array_unique($hot_links);
     }
     //end if
     $this->assign('webapp_hot_links', $hot_links);
     // cdn base url; omit trailing slash
     $this->assign('cdn', substr(\PSU::cdn(), 0, -1));
     if (\PSU::mobile() && $_COOKIE['psumobile'] != 'disable' || $_COOKIE['psumobile'] == 'force') {
         $this->mobile = true;
     }
     //end if
 }
コード例 #4
0
 /**
  * Modify a link to point to the CDN.
  */
 function cdn($url)
 {
     return PSU::cdn($url);
 }