Sindbad~EG File Manager
<?php
namespace PixelYourSite;
abstract class EventsFactory {
static function getSlug(){
return "";
}
abstract function getCount();
abstract function isEnabled();
abstract function getOptions();
abstract function getEvents();
/**
* Check is event ready for fire
* @param $event
* @return bool
*/
abstract function isReadyForFire($event);
/**
* @param String $event
* @return SingleEvent
*/
abstract function getEvent($event);
function generateEvents() {
if(!$this->isEnabled()) return array();
$eventsList = array();
foreach ($this->getEvents() as $eventName) {
if($this->isReadyForFire($eventName)) {
$events = $this->getEvent($eventName);
if($events == null) continue;
if(!is_array($events)) $events = array($events); // some
foreach ($events as $event) {
foreach ( PYS()->getRegisteredPixels() as $pixel ) {
if(method_exists($pixel,'generateEvents')) {
$pixelEvents = $pixel->generateEvents( $event );
foreach ($pixelEvents as $pixelEvent) {
if(apply_filters("pys_validate_pixel_event",true,$pixelEvent,$pixel)) {
$eventsList[$pixel->getSlug()][] = $pixelEvent;
}
}
}
else {
// deprecate
$pixel_event = clone $event;
$isSuccess = $pixel->addParamsToEvent( $pixel_event );
if(!$isSuccess || !apply_filters("pys_validate_pixel_event",true,$pixel_event,$pixel)) continue;
$eventsList[$pixel->getSlug()][] = $pixel_event;
}
}
}
}
}
return $eventsList;
}
}
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists