%PDF- %PDF-
| Direktori : /home/lightco1/www/feiss.com.au/libraries/nextend2/nextend/library/libraries/animations/ |
| Current File : /home/lightco1/www/feiss.com.au/libraries/nextend2/nextend/library/libraries/animations/storage.php |
<?php
class N2AnimationsStorage
{
private static $sets = array();
private static $animations = array();
private static $animationsBySet = array();
private static $animationsById = array();
public static function init() {
N2Pluggable::addAction('systemanimationset', 'N2AnimationsStorage::animationSet');
N2Pluggable::addAction('systemanimation', 'N2AnimationsStorage::animations');
N2Pluggable::addAction('animation', 'N2AnimationsStorage::animation');
}
private static function load() {
static $loaded;
if (!$loaded) {
N2Pluggable::doAction('animationStorage', array(
&self::$sets,
&self::$animations
));
for ($i = 0; $i < count(self::$animations); $i++) {
if (!isset(self::$animationsBySet[self::$animations[$i]['referencekey']])) {
self::$animationsBySet[self::$animations[$i]['referencekey']] = array();
}
self::$animationsBySet[self::$animations[$i]['referencekey']][] = &self::$animations[$i];
self::$animationsById[self::$animations[$i]['id']] = &self::$animations[$i];
}
$loaded = true;
}
}
public static function animationSet($referenceKey, &$sets) {
self::load();
for ($i = count(self::$sets) - 1; $i >= 0; $i--) {
self::$sets[$i]['system'] = 1;
self::$sets[$i]['editable'] = 0;
array_unshift($sets, self::$sets[$i]);
}
}
public static function animations($referenceKey, &$animations) {
self::load();
if (isset(self::$animationsBySet[$referenceKey])) {
$_animations = &self::$animationsBySet[$referenceKey];
for ($i = count($_animations) - 1; $i >= 0; $i--) {
$_animations[$i]['system'] = 1;
$_animations[$i]['editable'] = 0;
array_unshift($animations, $_animations[$i]);
}
}
}
public static function animation($id, &$animation) {
self::load();
if (isset(self::$animationsById[$id])) {
self::$animationsById[$id]['system'] = 1;
self::$animationsById[$id]['editable'] = 0;
$animation = self::$animationsById[$id];
}
}
}
N2AnimationsStorage::init();