Use asset helper in pages style

This commit is contained in:
Dmitriy Simushev 2014-09-05 09:13:11 +00:00
parent 83f6c31dd6
commit 5a3a4d959f
17 changed files with 88 additions and 72 deletions

View File

@ -24,6 +24,7 @@ use Mibew\Asset\AssetUrlGeneratorInterface;
use Mibew\Authentication\AuthenticationManagerAwareInterface;
use Mibew\Authentication\AuthenticationManagerInterface;
use Mibew\Handlebars\HandlebarsAwareInterface;
use Mibew\Handlebars\Helper\AssetHelper;
use Mibew\Handlebars\Helper\CsrfProtectedRouteHelper;
use Mibew\Handlebars\Helper\RouteHelper;
use Mibew\Routing\RouterAwareInterface;
@ -110,6 +111,14 @@ abstract class AbstractController implements
public function setAssetUrlGenerator(AssetUrlGeneratorInterface $generator)
{
$this->assetUrlGenerator = $generator;
// Update URL generator in the style helpers
if (!is_null($this->style) && $this->style instanceof HandlebarsAwareInterface) {
$handlebars = $this->style->getHandlebars();
if ($handlebars->hasHelper('asset')) {
$handlebars->getHelper('asset')->setAssetUrlGenerator($generator);
}
}
}
/**
@ -242,6 +251,13 @@ abstract class AbstractController implements
'csrfProtectedRoute',
new CsrfProtectedRouteHelper($this->getRouter())
);
$style->getHandlebars()->addHelper(
'asset',
new AssetHelper(
$this->getAssetUrlGenerator(),
array('CurrentStyle' => $style->getFilesPath())
)
);
}
return $style;

View File

@ -1,6 +1,6 @@
{{#if errors}}
<div class="errinfo">
<img src="{{stylePath}}/images/icon_err.gif" width="40" height="40" border="0" alt="" class="left"/>
<img src="{{asset "@CurrentStyle/images/icon_err.gif"}}" width="40" height="40" border="0" alt="" class="left"/>
<b>{{l10n "Correct the mistakes:"}}</b><br/>
<ul>
{{#each errors}}

View File

@ -3,13 +3,13 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="shortcut icon" href="{{stylePath}}/images/favicon.ico" type="image/x-icon"/>
<link rel="shortcut icon" href="{{asset "@CurrentStyle/images/favicon.ico"}}" type="image/x-icon"/>
<title>
{{title}} - {{l10n "Mibew Messenger"}}
</title>
<link href="{{stylePath}}/css/default.css" rel="stylesheet" type="text/css" />
<!--[if lte IE 7]><link href="{{stylePath}}/css/default_ie.css" rel="stylesheet" type="text/css" /><![endif] -->
<!--[if lte IE 6]><script language="JavaScript" type="text/javascript" src="{{stylePath}}/js/ie.js"></script><![endif]-->
<link href="{{asset "@CurrentStyle/css/default.css"}}" rel="stylesheet" type="text/css" />
<!--[if lte IE 7]><link href="{{asset "@CurrentStyle/css/default_ie.css"}}" rel="stylesheet" type="text/css" /><![endif] -->
<!--[if lte IE 6]><script language="JavaScript" type="text/javascript" src="{{asset "@CurrentStyle/js/ie.js"}}"></script><![endif]-->
{{#block "head"}}{{/block}}
</head>
@ -17,7 +17,7 @@
<div id="{{#if fixedwrap}}fixedwrap{{else}}{{#ifOverridden "menu"}}wrap700{{else}}wrap400{{/ifOverridden}}{{/if}}" class="l{{#if rtl}}rtl{{else}}ltr{{/if}}">
<div id="header">
<div id="title">
<h1><img src="{{stylePath}}/images/logo.png" alt="" width="32" height="32" class="left logo" />
<h1><img src="{{asset "@CurrentStyle/images/logo.png"}}" alt="" width="32" height="32" class="left logo" />
<a href="#">{{#if headertitle}}{{headertitle}}{{else}}{{title}}{{/if}}</a></h1>
</div>

View File

@ -3,7 +3,7 @@
{{#if warnOffline}}
{{#unless isOnline}}
<li id="offwarn">
<img src="{{stylePath}}/images/dash/warn.gif" alt="" width="24" height="24"/>
<img src="{{asset "@CurrentStyle/images/dash/warn.gif"}}" alt="" width="24" height="24"/>
<p>{{{goOnlineLink}}}</p>
</li>
{{/unless}}

View File

@ -2,7 +2,7 @@
{{#override "menu"}}{{> _menu}}{{/override}}
{{#override "head"}}
<script type="text/javascript" language="javascript" src="{{mibewRoot}}/js/libs/jquery.min.js"></script>
<script type="text/javascript" language="javascript" src="{{asset "js/libs/jquery.min.js"}}"></script>
<script type="text/javascript" language="javascript"><!--
(function($) {
$(document).ready(function(){
@ -26,7 +26,7 @@
{{> _errors}}
<div class="tabletool">
<img src="{{stylePath}}/images/buttons/createban.gif" border="0" alt=""/>
<img src="{{asset "@CurrentStyle/images/buttons/createban.gif"}}" border="0" alt=""/>
<a href="{{route "ban_add"}}" title="{{l10n "Add address"}}"
onclick="this.newWindow = window.open('{{route "ban_add"}}', '', 'toolbar=0,scrollbars=1,location=0,status=1,menubar=0,width=640,height=480,resizable=1');this.newWindow.focus();this.newWindow.opener=window;return false;">{{l10n "Add address"}}</a>
</div>

View File

@ -45,7 +45,7 @@
<br/>
<div class="tabletool">
<img src="{{stylePath}}/images/buttons/createban.gif" border="0" alt=""/>
<img src="{{asset "@CurrentStyle/images/buttons/createban.gif"}}" border="0" alt=""/>
<a href="{{route "canned_message_add" lang=formlang group=formgroup}}" target="_blank"
onclick="this.newWindow = window.open('{{route "canned_message_add" lang=formlang group=formgroup}}', '', 'toolbar=0,scrollbars=1,location=0,status=1,menubar=0,width=640,height=480,resizable=1');this.newWindow.focus();this.newWindow.opener=window;return false;">
{{l10n "Add message..."}}

View File

@ -2,8 +2,8 @@
{{#override "menu"}}{{> _menu}}{{/override}}
{{#override "head"}}
<script type="text/javascript" language="javascript" src="{{mibewRoot}}/js/libs/jquery.min.js"></script>
<script type="text/javascript" language="javascript" src="{{stylePath}}/js/group.js"></script>
<script type="text/javascript" language="javascript" src="{{asset "js/libs/jquery.min.js"}}"></script>
<script type="text/javascript" language="javascript" src="{{asset "@CurrentStyle/js/group.js"}}"></script>
{{/override}}
{{#override "content"}}

View File

@ -2,7 +2,7 @@
{{#override "menu"}}{{> _menu}}{{/override}}
{{#override "head"}}
<script type="text/javascript" language="javascript" src="{{mibewRoot}}/js/libs/jquery.min.js"></script>
<script type="text/javascript" language="javascript" src="{{asset "js/libs/jquery.min.js"}}"></script>
<script type="text/javascript" language="javascript"><!--
(function($) {
$(document).ready(function(){
@ -62,7 +62,7 @@
{{#if canmodify}}
<div class="tabletool">
<img src="{{stylePath}}/images/buttons/createdep.gif" border="0" alt="" />
<img src="{{asset "@CurrentStyle/images/buttons/createdep.gif"}}" border="0" alt="" />
<a href="{{route "group_add"}}" title="{{l10n "Create new group"}}">
{{l10n "Create new group"}}
</a>

View File

@ -1,20 +1,20 @@
{{#extends "_layout"}}
{{#override "head"}}
<!-- External libs -->
<script type="text/javascript" src="{{mibewRoot}}/js/libs/jquery.min.js"></script>
<script type="text/javascript" src="{{mibewRoot}}/js/libs/json2.js"></script>
<script type="text/javascript" src="{{mibewRoot}}/js/libs/underscore-min.js"></script>
<script type="text/javascript" src="{{mibewRoot}}/js/libs/backbone-min.js"></script>
<script type="text/javascript" src="{{mibewRoot}}/js/libs/backbone.marionette.min.js"></script>
<script type="text/javascript" src="{{mibewRoot}}/js/libs/handlebars.js"></script>
<script type="text/javascript" src="{{asset "js/libs/jquery.min.js"}}"></script>
<script type="text/javascript" src="{{asset "js/libs/json2.js"}}"></script>
<script type="text/javascript" src="{{asset "js/libs/underscore-min.js"}}"></script>
<script type="text/javascript" src="{{asset "js/libs/backbone-min.js"}}"></script>
<script type="text/javascript" src="{{asset "js/libs/backbone.marionette.min.js"}}"></script>
<script type="text/javascript" src="{{asset "js/libs/handlebars.js"}}"></script>
<!-- Client side templates -->
<script type="text/javascript" src="{{stylePath}}/templates_compiled/client_side/default_app.tpl.js"></script>
<script type="text/javascript" src="{{asset "@CurrentStyle/templates_compiled/client_side/default_app.tpl.js"}}"></script>
<!-- Application files -->
<script type="text/javascript" src="{{mibewRoot}}/js/compiled/mibewapi.js"></script>
<script type="text/javascript" src="{{mibewRoot}}/js/compiled/default_app.js"></script>
<script type="text/javascript" src="{{mibewRoot}}/js/compiled/thread_log_app.js"></script>
<script type="text/javascript" src="{{asset "js/compiled/mibewapi.js"}}"></script>
<script type="text/javascript" src="{{asset "js/compiled/default_app.js"}}"></script>
<script type="text/javascript" src="{{asset "js/compiled/thread_log_app.js"}}"></script>
<!-- Start application -->
<script type="text/javascript"><!--

View File

@ -1,8 +1,8 @@
{{#extends "_layout"}}
{{#override "head"}}
{{#if localeLinks}}
<script type="text/javascript" language="javascript" src="{{mibewRoot}}/js/libs/jquery.min.js"></script>
<script type="text/javascript" language="javascript" src="{{stylePath}}/js/locale.js"></script>
<script type="text/javascript" language="javascript" src="{{asset "js/libs/jquery.min.js"}}"></script>
<script type="text/javascript" language="javascript" src="{{asset "@CurrentStyle/js/locale.js"}}"></script>
{{/if}}
{{/override}}
@ -23,7 +23,7 @@
<div id="dashboard">
<div class="dashitem">
<div class="dashitem-content">
<img src="{{stylePath}}/images/dash/visitors.gif" alt=""/>
<img src="{{asset "@CurrentStyle/images/dash/visitors.gif"}}" alt=""/>
<a href="{{route "users"}}">
{{l10n "Visitors"}}
</a>
@ -33,7 +33,7 @@
<div class="dashitem">
<div class="dashitem-content">
<img src="{{stylePath}}/images/dash/history.gif" alt=""/>
<img src="{{asset "@CurrentStyle/images/dash/history.gif"}}" alt=""/>
<a href="{{route "history"}}">
{{l10n "Chat history"}}
</a>
@ -44,7 +44,7 @@
{{#if showstat}}
<div class="dashitem">
<div class="dashitem-content">
<img src="{{stylePath}}/images/dash/stat.gif" alt=""/>
<img src="{{asset "@CurrentStyle/images/dash/stat.gif"}}" alt=""/>
<a href="{{route "statistics"}}">
{{l10n "Statistics"}}
</a>
@ -56,7 +56,7 @@
{{#if showban}}
<div class="dashitem">
<div class="dashitem-content">
<img src="{{stylePath}}/images/dash/blocked.gif" alt=""/>
<img src="{{asset "@CurrentStyle/images/dash/blocked.gif"}}" alt=""/>
<a href="{{route "bans"}}">
{{l10n "Blocked visitors"}}
</a>
@ -67,7 +67,7 @@
<div class="dashitem">
<div class="dashitem-content">
<img src="{{stylePath}}/images/dash/canned.gif" alt=""/>
<img src="{{asset "@CurrentStyle/images/dash/canned.gif"}}" alt=""/>
<a href="{{route "canned_messages"}}">
{{l10n "Canned Messages"}}
</a>
@ -78,7 +78,7 @@
{{#if showadmin}}
<div class="dashitem">
<div class="dashitem-content">
<img src="{{stylePath}}/images/dash/getcode.gif" alt=""/>
<img src="{{asset "@CurrentStyle/images/dash/getcode.gif"}}" alt=""/>
<a href="{{route "button_code"}}">
{{l10n "Button code"}}
</a>
@ -88,7 +88,7 @@
<div class="dashitem">
<div class="dashitem-content">
<img src="{{stylePath}}/images/dash/operators.gif" alt=""/>
<img src="{{asset "@CurrentStyle/images/dash/operators.gif"}}" alt=""/>
<a href="{{route "operators"}}">
{{l10n "Operators"}}
</a>
@ -98,7 +98,7 @@
<div class="dashitem">
<div class="dashitem-content">
<img src="{{stylePath}}/images/dash/dep.gif" alt=""/>
<img src="{{asset "@CurrentStyle/images/dash/dep.gif"}}" alt=""/>
<a href="{{route "groups"}}">
{{l10n "Groups"}}
</a>
@ -108,7 +108,7 @@
<div class="dashitem">
<div class="dashitem-content">
<img src="{{stylePath}}/images/dash/settings.gif" alt=""/>
<img src="{{asset "@CurrentStyle/images/dash/settings.gif"}}" alt=""/>
<a href="{{route "settings_common"}}">
{{l10n "Settings"}}
</a>
@ -120,7 +120,7 @@
{{#if currentopid}}
<div class="dashitem">
<div class="dashitem-content">
<img src="{{stylePath}}/images/dash/profile.gif" alt=""/>
<img src="{{asset "@CurrentStyle/images/dash/profile.gif"}}" alt=""/>
<a href="{{route "operator_edit" operator_id=currentopid}}">
{{l10n "Profile"}}
</a>
@ -132,7 +132,7 @@
{{#if localeLinks}}
<div class="dashitem">
<div class="dashitem-content">
<img src="{{stylePath}}/images/dash/locale.gif" alt=""/>
<img src="{{asset "@CurrentStyle/images/dash/locale.gif"}}" alt=""/>
<a href="#" id="changelang">
{{l10n "Language"}}
</a>
@ -144,7 +144,7 @@
{{#if showadmin}}
<div class="dashitem">
<div class="dashitem-content">
<img src="{{stylePath}}/images/dash/updates.gif" alt=""/>
<img src="{{asset "@CurrentStyle/images/dash/updates.gif"}}" alt=""/>
<a href="{{route "updates"}}">
{{l10n "Updates"}}
</a>
@ -155,7 +155,7 @@
<div class="dashitem">
<div class="dashitem-content">
<img src="{{stylePath}}/images/dash/exit.gif" alt=""/>
<img src="{{asset "@CurrentStyle/images/dash/exit.gif"}}" alt=""/>
<a href="{{route "logout"}}">
{{l10n "Exit"}}
</a>
@ -167,8 +167,8 @@
{{#if localeLinks}}
<div id="dashlocalesPopup">
<a href="#" id="dashlocalesPopupClose"><img src="{{stylePath}}/images/dash/close.gif" alt="X"/></a>
<h2><img src="{{stylePath}}/images/dash/locale.gif" alt=""/><b>{{l10n "Choose your language"}}</b></h2>
<a href="#" id="dashlocalesPopupClose"><img src="{{asset "@CurrentStyle/images/dash/close.gif"}}" alt="X"/></a>
<h2><img src="{{asset "@CurrentStyle/images/dash/locale.gif"}}" alt=""/><b>{{l10n "Choose your language"}}</b></h2>
<ul class="locales">
{{#each localeLinks}}
<li{{#ifEqual currentLocale @key}} class="active"{{/ifEqual}}><a href="?locale={{@key}}">{{this}}</a></li>

View File

@ -2,21 +2,21 @@
{{#override "head"}}
<!-- External libs -->
<script type="text/javascript" src="{{mibewRoot}}/js/libs/jquery.min.js"></script>
<script type="text/javascript" src="{{mibewRoot}}/js/libs/json2.js"></script>
<script type="text/javascript" src="{{mibewRoot}}/js/libs/underscore-min.js"></script>
<script type="text/javascript" src="{{mibewRoot}}/js/libs/backbone-min.js"></script>
<script type="text/javascript" src="{{mibewRoot}}/js/libs/backbone.marionette.min.js"></script>
<script type="text/javascript" src="{{mibewRoot}}/js/libs/handlebars.js"></script>
<script type="text/javascript" src="{{asset "js/libs/jquery.min.js"}}"></script>
<script type="text/javascript" src="{{asset "js/libs/json2.js"}}"></script>
<script type="text/javascript" src="{{asset "js/libs/underscore-min.js"}}"></script>
<script type="text/javascript" src="{{asset "js/libs/backbone-min.js"}}"></script>
<script type="text/javascript" src="{{asset "js/libs/backbone.marionette.min.js"}}"></script>
<script type="text/javascript" src="{{asset "js/libs/handlebars.js"}}"></script>
<!-- Client side templates -->
<script type="text/javascript" src="{{stylePath}}/templates_compiled/client_side/default_app.tpl.js"></script>
<script type="text/javascript" src="{{asset "@CurrentStyle/templates_compiled/client_side/default_app.tpl.js"}}"></script>
<!-- Default application files -->
<script type="text/javascript" src="{{mibewRoot}}/js/compiled/mibewapi.js"></script>
<script type="text/javascript" src="{{mibewRoot}}/js/compiled/default_app.js"></script>
<script type="text/javascript" src="{{asset "js/compiled/mibewapi.js"}}"></script>
<script type="text/javascript" src="{{asset "js/compiled/default_app.js"}}"></script>
<script type="text/javascript" language="javascript" src="{{mibewRoot}}/js/compiled/soundcheck.js"></script>
<script type="text/javascript" language="javascript" src="{{asset "js/compiled/soundcheck.js"}}"></script>
{{/override}}
{{#override "nextStep"}}

View File

@ -2,7 +2,7 @@
{{#override "menu"}}{{> _menu}}{{/override}}
{{#override "head"}}
<script type="text/javascript" language="javascript" src="{{mibewRoot}}/js/libs/jquery.min.js"></script>
<script type="text/javascript" language="javascript" src="{{asset "js/libs/jquery.min.js"}}"></script>
<script type="text/javascript" language="javascript"><!--
(function($) {
$(document).ready(function(){
@ -62,7 +62,7 @@
{{#if canmodify}}
<div class="tabletool">
<img src="{{stylePath}}/images/buttons/createagent.gif" border="0" alt="" />
<img src="{{asset "@CurrentStyle/images/buttons/createagent.gif"}}" border="0" alt="" />
<a href="{{route "operator_add"}}" title="{{l10n "Add operator..."}}">
{{l10n "Add operator..."}}
</a>

View File

@ -43,7 +43,7 @@
<tr>
<td>
<a href="javascript:document.restoreForm.submit();">
<img src="{{stylePath}}/images/submit.gif" width="40" height="35" border="0" alt="" />
<img src="{{asset "@CurrentStyle/images/submit.gif"}}" width="40" height="35" border="0" alt="" />
</a>
</td>
<td class="submit">
@ -53,7 +53,7 @@
</td>
<td>
<a href="javascript:document.restoreForm.submit();">
<img src="{{stylePath}}/images/submitrest.gif" width="10" height="35" border="0" alt="" />
<img src="{{asset "@CurrentStyle/images/submitrest.gif"}}" width="10" height="35" border="0" alt="" />
</a>
</td>
</tr>

View File

@ -58,7 +58,7 @@
<tr>
<td>
<a href="javascript:document.resetForm.submit();">
<img src="{{stylePath}}/images/submit.gif" width="40" height="35" border="0" alt="" />
<img src="{{asset "@CurrentStyle/images/submit.gif"}}" width="40" height="35" border="0" alt="" />
</a>
</td>
<td class="submit">
@ -68,7 +68,7 @@
</td>
<td>
<a href="javascript:document.resetForm.submit();">
<img src="{{stylePath}}/images/submitrest.gif" width="10" height="35" border="0" alt="" />
<img src="{{asset "@CurrentStyle/images/submitrest.gif"}}" width="10" height="35" border="0" alt="" />
</a>
</td>
</tr>

View File

@ -2,8 +2,8 @@
{{#override "menu"}}{{> _menu}}{{/override}}
{{#override "head"}}
<script type="text/javascript" language="javascript" src="{{mibewRoot}}/js/libs/jquery.min.js"></script>
<script type="text/javascript" language="javascript" src="{{stylePath}}/js/features.js"></script>
<script type="text/javascript" language="javascript" src="{{asset "js/libs/jquery.min.js"}}"></script>
<script type="text/javascript" language="javascript" src="{{asset "@CurrentStyle/js/features.js"}}"></script>
{{/override}}
{{#override "content"}}

View File

@ -2,9 +2,9 @@
{{#override "menu"}}{{> _menu}}{{/override}}
{{#override "head"}}
<script type="text/javascript" language="javascript" src="{{mibewRoot}}/js/libs/jquery.min.js"></script>
<script type="text/javascript" language="javascript" src="{{asset "js/libs/jquery.min.js"}}"></script>
<script type="text/javascript" language="javascript" src="http://mibew.org/latestMibew.js"></script>
<script type="text/javascript" language="javascript" src="{{mibewRoot}}/js/compiled/update.js"></script>
<script type="text/javascript" language="javascript" src="{{asset "js/compiled/update.js"}}"></script>
{{/override}}
{{#override "content"}}

View File

@ -9,21 +9,21 @@
<!-- External libs -->
<script type="text/javascript" src="{{mibewRoot}}/js/libs/jquery.min.js"></script>
<script type="text/javascript" src="{{mibewRoot}}/js/libs/json2.js"></script>
<script type="text/javascript" src="{{mibewRoot}}/js/libs/underscore-min.js"></script>
<script type="text/javascript" src="{{mibewRoot}}/js/libs/backbone-min.js"></script>
<script type="text/javascript" src="{{mibewRoot}}/js/libs/backbone.marionette.min.js"></script>
<script type="text/javascript" src="{{mibewRoot}}/js/libs/handlebars.js"></script>
<script type="text/javascript" src="{{asset "js/libs/jquery.min.js"}}"></script>
<script type="text/javascript" src="{{asset "js/libs/json2.js"}}"></script>
<script type="text/javascript" src="{{asset "js/libs/underscore-min.js"}}"></script>
<script type="text/javascript" src="{{asset "js/libs/backbone-min.js"}}"></script>
<script type="text/javascript" src="{{asset "js/libs/backbone.marionette.min.js"}}"></script>
<script type="text/javascript" src="{{asset "js/libs/handlebars.js"}}"></script>
<!-- Client side templates -->
<script type="text/javascript" src="{{stylePath}}/templates_compiled/client_side/default_app.tpl.js"></script>
<script type="text/javascript" src="{{stylePath}}/templates_compiled/client_side/users_app.tpl.js"></script>
<script type="text/javascript" src="{{asset "@CurrentStyle/templates_compiled/client_side/default_app.tpl.js"}}"></script>
<script type="text/javascript" src="{{asset "@CurrentStyle/templates_compiled/client_side/users_app.tpl.js"}}"></script>
<!-- Application files -->
<script type="text/javascript" src="{{mibewRoot}}/js/compiled/mibewapi.js"></script>
<script type="text/javascript" src="{{mibewRoot}}/js/compiled/default_app.js"></script>
<script type="text/javascript" src="{{mibewRoot}}/js/compiled/users_app.js"></script>
<script type="text/javascript" src="{{asset "js/compiled/mibewapi.js"}}"></script>
<script type="text/javascript" src="{{asset "js/compiled/default_app.js"}}"></script>
<script type="text/javascript" src="{{asset "js/compiled/users_app.js"}}"></script>
<!-- Plugins JavaScript files -->
{{{additional_js}}}