/** * wird ausgeführt, wenn Cache über "Cache leeren" Button geleert wird * @param array $data * @return mixed */ public function run($data = null) { $functionData = explode('_', $data['name'], 3); if (!isset($functionData[0]) || !isset($functionData[1]) || !isset($functionData[2])) { trigger_error('Malformed function name data given: "' . $data['name'] . '"'); return false; } $vendorKey = $functionData[0]; $moduleKey = $functionData[1]; $functionName = $functionData[2]; $classFile = \fpcm\classes\baseconfig::$moduleDir . $vendorKey . '/' . $moduleKey . '/events/apiCallFunction.php'; if (!file_exists($classFile)) { trigger_error('Event class "apiCallFunction" not found in ' . \fpcm\model\files\ops::removeBaseDir($classFile, true)); return false; } $classkey = $vendorKey . '/' . $moduleKey; $eventClass = \fpcm\model\abstracts\module::getModuleEventNamespace($classkey, 'apiCallFunction'); /** * @var \fpcm\model\abstracts\event */ $module = new $eventClass(); if (!$this->is_a($module)) { return false; } $data['name'] = $functionName; return $module->run($data); }
/** * wird ausgeführt, wenn im Artikel-Editor die Liste vorhandener Upload geladen wird * @param array $data * @return array */ public function run($data = null) { $eventClasses = $this->getEventClasses(); if (!count($eventClasses)) { return $data; } $mdata = $data; foreach ($eventClasses as $eventClass) { $classkey = $this->getModuleKeyByEvent($eventClass); $eventClass = \fpcm\model\abstracts\module::getModuleEventNamespace($classkey, 'editorGetFileList'); /** * @var \fpcm\model\abstracts\event */ $module = new $eventClass(); if (!$this->is_a($module)) { continue; } $mdata = $module->run($mdata); } array_shift($mdata); if (!isset($mdata['files'])) { return $data; } return $mdata; }
/** * wird ausgeführt, wenn Spam-Captcha in Kommentar-Formular initialisiert werden soll * @param void $data * @return \model\abstracts\spamCaptcha */ public function run($data = null) { $eventClasses = $this->getEventClasses(); if (!count($eventClasses)) { return false; } $eventClass = array_shift($eventClasses); $classkey = $this->getModuleKeyByEvent($eventClass); if (!in_array($classkey, $this->activeModules)) { return false; } $eventClass = \fpcm\model\abstracts\module::getModuleEventNamespace($classkey, 'publicReplaceSpamCaptcha'); /** * @var \fpcm\model\abstracts\event */ $module = new $eventClass(); if (!$this->is_a($module)) { return false; } $data = $module->run(); if (!is_object($data)) { return false; } return $data; }
/** * wird ausgeführt, wenn Cache über "Cache leeren" Button geleert wird * @param void $data * @return void */ public function run($data = null) { $eventClasses = $this->getEventClasses(); if (!count($eventClasses)) { return; } foreach ($eventClasses as $eventClass) { $classkey = $this->getModuleKeyByEvent($eventClass); $eventClass = \fpcm\model\abstracts\module::getModuleEventNamespace($classkey, 'clearCache'); /** * @var \fpcm\model\abstracts\event */ $module = new $eventClass(); if (!$this->is_a($module)) { continue; } $module->run(); } }
/** * wird ausgeführt, wenn wenn Benutzer in Modulmanager auf "Modul konfigurieren" klickt * @param string $module * @return boolean */ public function run($module = null) { if (!in_array($module, $this->activeModules)) { trigger_error("Request for acpConfig event of disabled module '{$module}'!"); $view = new \fpcm\model\view\error(); $view->setMessage("The module '{$module}' is not enabled for execution!"); $view->render(); die; } $className = \fpcm\model\abstracts\module::getModuleEventNamespace($module, 'acpConfig'); /** * @var \fpcm\model\abstracts\event */ $module = new $className(); if ($this->is_a($module)) { $module->run(null); return true; } return false; }
/** * wird ausgeführt, wenn in publicController-View die Liste mit Javascript-Dateien geladen wird * @param array $data * @return array */ public function run($data = null) { $eventClasses = $this->getEventClasses(); if (!count($eventClasses)) { return array(); } $mdata = array(); foreach ($eventClasses as $eventClass) { $classkey = $this->getModuleKeyByEvent($eventClass); $eventClass = \fpcm\model\abstracts\module::getModuleEventNamespace($classkey, 'publicAddJsFiles'); /** * @var \fpcm\model\abstracts\event */ $module = new $eventClass(); if (!$this->is_a($module)) { continue; } $mdata = $module->run($mdata); } return $mdata; }
/** * wird ausgeführt, wenn Spam-Captcha in Kommentar-Formular initialisiert werden soll * @param void $data * @return \model\abstracts\spamCaptcha */ public function run($data = null) { $eventClasses = $this->getEventClasses(); if (!count($eventClasses)) { return false; } $eventClass = array_shift($eventClasses); $classkey = $this->getModuleKeyByEvent($eventClass); $eventClass = \fpcm\model\abstracts\module::getModuleEventNamespace($classkey, 'articleReplaceEditorPlugin'); /** * @var \fpcm\model\abstracts\articleEditor */ $module = new $eventClass(); if (!$this->is_a($module)) { return false; } $data = $module->run(); if (!is_object($data)) { return false; } return $data; }
/** * wird ausgeführt, wenn im Artikel-Editor die Link-Liste für den "Link einfügen"-Dialog geladen wird * @param void $data * @return array */ public function run($data = null) { $eventClasses = $this->getEventClasses(); if (!count($eventClasses)) { return array(); } $mdata = array(array('label' => '', 'value' => '')); foreach ($eventClasses as $eventClass) { $classkey = $this->getModuleKeyByEvent($eventClass); $eventClass = \fpcm\model\abstracts\module::getModuleEventNamespace($classkey, 'editorAddLinks'); /** * @var \fpcm\model\abstracts\event */ $module = new $eventClass(); if (!$this->is_a($module)) { continue; } $mdata = $module->run($mdata); } array_shift($mdata); return $mdata; }
/** * wird ausgeführt, wenn Artikel gespeichert wird * @param array $data * @return array */ public function run($data = null) { $eventClasses = $this->getEventClasses(); if (!count($eventClasses)) { return $data; } $mdata = $data; foreach ($eventClasses as $eventClass) { $classkey = $this->getModuleKeyByEvent($eventClass); $eventClass = \fpcm\model\abstracts\module::getModuleEventNamespace($classkey, 'articleCreateTweet'); /** * @var \fpcm\model\abstracts\event */ $module = new $eventClass(); if (!$this->is_a($module)) { continue; } $mdata = $module->run($mdata); } if (!is_a($mdata, '\\fpcm\\model\\articles\\article')) { return $data; } return $mdata; }
/** * wird ausgeführt, wenn Artikel gespeichert wird * @param array $data * @return array */ public function run($data = null) { $eventClasses = $this->getEventClasses(); if (!count($eventClasses)) { return $data; } $mdata = $data; foreach ($eventClasses as $eventClass) { $classkey = $this->getModuleKeyByEvent($eventClass); $eventClass = \fpcm\model\abstracts\module::getModuleEventNamespace($classkey, 'articlePrepareDataSave'); /** * @var \fpcm\model\abstracts\event */ $module = new $eventClass(); if (!$this->is_a($module)) { continue; } $mdata = $module->run($mdata); } if (!$mdata || !is_array($mdata) || !isset($eventData['content']) || !isset($eventData['searchParams']) || !is_array($eventData['searchParams'])) { return $data; } return $mdata; }
/** * wird ausgeführt, wenn über fpcm\classes\email-Klasse eine E-mail versendet wird * @param array $data * @return array */ public function run($data = null) { $eventClasses = $this->getEventClasses(); if (!count($eventClasses)) { return $data; } $mdata = $data; foreach ($eventClasses as $eventClass) { $classkey = $this->getModuleKeyByEvent($eventClass); $eventClass = \fpcm\model\abstracts\module::getModuleEventNamespace($classkey, 'emailSubmit'); /** * @var \fpcm\model\abstracts\event */ $module = new $eventClass(); if (!$this->is_a($module)) { continue; } $mdata = $module->run($mdata); } if (!$mdata || !isset($mdata['maildata']) || !isset($mdata['headers'])) { return $data; } return $mdata; }
/** * wird ausgeführt, wenn RSS-Feed-Struktur aufgebaut wird * @param array $data * @return array */ public function run($data = null) { $eventClasses = $this->getEventClasses(); if (!count($eventClasses)) { return $data; } $mdata = $data; foreach ($eventClasses as $eventClass) { $classkey = $this->getModuleKeyByEvent($eventClass); $eventClass = \fpcm\model\abstracts\module::getModuleEventNamespace($classkey, 'prepareRssFeed'); /** * @var \fpcm\model\abstracts\event */ $module = new $eventClass(); if (!$this->is_a($module)) { continue; } $mdata = $module->run($mdata); } if (!$mdata || is_a($mdata, '\\DOMDocument')) { return $data; } return $mdata; }
/** * wird ausgeführt, wenn Liste von Dashboard-Container-Klassen geladen wird * @param array $data * @return array */ public function run($data = null) { $eventClasses = $this->getEventClasses(); if (!count($eventClasses)) { return $data; } $mdata = $data; foreach ($eventClasses as $eventClass) { $classkey = $this->getModuleKeyByEvent($eventClass); $eventClass = \fpcm\model\abstracts\module::getModuleEventNamespace($classkey, 'dashboardContainersLoad'); /** * @var \fpcm\model\abstracts\event */ $module = new $eventClass(); if (!$this->is_a($module)) { continue; } $mdata = $module->run($mdata); } if (!isset($mdata)) { return $data; } return $mdata; }
/** * wird ausgeführt, wenn Artikel gespeichert wird * @param array $data * @return array */ public function run($data = null) { $eventClasses = $this->getEventClasses(); if (!count($eventClasses)) { return $data; } $mdata = $data; foreach ($eventClasses as $eventClass) { $classkey = $this->getModuleKeyByEvent($eventClass); $eventClass = \fpcm\model\abstracts\module::getModuleEventNamespace($classkey, $this->getEventClassBase()); /** * @var \fpcm\model\abstracts\event */ $module = new $eventClass(); if (!$this->is_a($module)) { continue; } $mdata = $module->run($mdata); } if (!$mdata) { return $data; } if ($this->returnDataType === self::FPCM_MODULE_EVENT_RETURNTYPE_ARRAY && !is_array($mdata)) { trigger_error('Invalid data type. Returned data type must be an array'); return $data; } elseif ($this->returnDataType === self::FPCM_MODULE_EVENT_RETURNTYPE_OBJ && !is_object($mdata)) { trigger_error('Invalid data type. Returned data type must be an object'); return $data; } elseif ($this->returnDataType !== false && !is_array($mdata) && !is_a($mdata, $this->returnDataType)) { trigger_error('Invalid data type. Returned data type must be instance of ' . $this->returnDataType); return $data; } return $mdata; }
/** * wird ausgeführt, wenn im Artikel-Editor die Link-Liste für den "Link einfügen"-Dialog geladen wird * @param void $data * @return array */ public function run($data = null) { $eventClasses = $this->getEventClasses(); if (!count($eventClasses)) { return array(); } $mdata = array('dummy_field' => array('name' => 'dummy', 'value' => 'dummy', 'class' => 'dummy', 'readonly' => false)); foreach ($eventClasses as $eventClass) { $classkey = $this->getModuleKeyByEvent($eventClass); $eventClass = \fpcm\model\abstracts\module::getModuleEventNamespace($classkey, 'editorAddUserFields'); /** * @var \fpcm\model\abstracts\event */ $module = new $eventClass(); if (!$this->is_a($module)) { continue; } $mdata = $module->run($mdata); } array_shift($mdata); $mdata = array_map(array($this, 'checkFields'), $mdata); return $mdata; }