forked from phpbb/phpbb
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request phpbb#4131 from Nicofuma/ticket/13717
[ticket/13717] Set the assets after rendering the whole template
- Loading branch information
Showing
5 changed files
with
160 additions
and
48 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,95 @@ | ||
<?php | ||
/** | ||
* | ||
* This file is part of the phpBB Forum Software package. | ||
* | ||
* @copyright (c) phpBB Limited <https://www.phpbb.com> | ||
* @license GNU General Public License, version 2 (GPL-2.0) | ||
* | ||
* For full copyright and license information, please see | ||
* the docs/CREDITS.txt file. | ||
* | ||
*/ | ||
|
||
namespace phpbb\template; | ||
|
||
class assets_bag | ||
{ | ||
/** @var asset[] */ | ||
protected $stylesheets = []; | ||
|
||
/** @var asset[] */ | ||
protected $scripts = []; | ||
|
||
/** | ||
* Add a css asset to the bag | ||
* | ||
* @param asset $asset | ||
*/ | ||
public function add_stylesheet(asset $asset) | ||
{ | ||
$this->stylesheets[] = $asset; | ||
} | ||
|
||
/** | ||
* Add a js script asset to the bag | ||
* | ||
* @param asset $asset | ||
*/ | ||
public function add_script(asset $asset) | ||
{ | ||
$this->scripts[] = $asset; | ||
} | ||
|
||
/** | ||
* Returns all css assets | ||
* | ||
* @return asset[] | ||
*/ | ||
public function get_stylesheets() | ||
{ | ||
return $this->stylesheets; | ||
} | ||
|
||
/** | ||
* Returns all js assets | ||
* | ||
* @return asset[] | ||
*/ | ||
public function get_scripts() | ||
{ | ||
return $this->scripts; | ||
} | ||
|
||
/** | ||
* Returns the HTML code to includes all css assets | ||
* | ||
* @return string | ||
*/ | ||
public function get_stylesheets_content() | ||
{ | ||
$output = ''; | ||
foreach ($this->stylesheets as $stylesheet) | ||
{ | ||
$output .= "<link href=\"{$stylesheet->get_url()}\" rel=\"stylesheet\" type=\"text/css\" media=\"screen\" />\n"; | ||
} | ||
|
||
return $output; | ||
} | ||
|
||
/** | ||
* Returns the HTML code to includes all js assets | ||
* | ||
* @return string | ||
*/ | ||
public function get_scripts_content() | ||
{ | ||
$output = ''; | ||
foreach ($this->scripts as $script) | ||
{ | ||
$output .= "<script type=\"text/javascript\" src=\"{$script->get_url()}\"></script>\n"; | ||
} | ||
|
||
return $output; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters