removed 'application' folder to have everything in the root directory
This commit is contained in:
42
libs/FML/Script/Features/ScriptFeature.php
Normal file
42
libs/FML/Script/Features/ScriptFeature.php
Normal file
@ -0,0 +1,42 @@
|
||||
<?php
|
||||
|
||||
namespace FML\Script\Features;
|
||||
|
||||
use FML\Script\Script;
|
||||
use FML\Types\ScriptFeatureable;
|
||||
|
||||
/**
|
||||
* ManiaLink Script Feature Class
|
||||
*
|
||||
* @author steeffeen <mail@steeffeen.com>
|
||||
* @copyright FancyManiaLinks Copyright © 2014 Steffen Schröder
|
||||
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
|
||||
*/
|
||||
abstract class ScriptFeature {
|
||||
|
||||
/**
|
||||
* Collect the Script Features of the given objects
|
||||
*
|
||||
* @return ScriptFeature[]
|
||||
*/
|
||||
public static function collect() {
|
||||
$params = func_get_args();
|
||||
$scriptFeatures = array();
|
||||
foreach ($params as $object) {
|
||||
if ($object instanceof ScriptFeatureable) {
|
||||
$scriptFeatures = array_merge($scriptFeatures, $object->getScriptFeatures());
|
||||
} else if ($object instanceof ScriptFeature) {
|
||||
array_push($scriptFeatures, $object);
|
||||
}
|
||||
}
|
||||
return $scriptFeatures;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prepare the given Script for rendering by adding the needed Labels, etc.
|
||||
*
|
||||
* @param Script $script Script to prepare
|
||||
* @return static
|
||||
*/
|
||||
public abstract function prepare(Script $script);
|
||||
}
|
Reference in New Issue
Block a user