protected function _classAndMethodIntegrityCheck(array $bbcodes) { $bbcodesWithCallbackErrors = array(); foreach ($bbcodes as $bbcode) { $type = $this->_getParsingType($bbcode); if (!in_array($type, array('php', 'template'))) { continue; } if ($type == 'template' && !$bbcode['template_callback_class']) { continue; } if ($type == 'php') { $class = $bbcode['phpcallback_class']; $method = $bbcode['phpcallback_method']; } else { $class = $bbcode['template_callback_class']; $method = $bbcode['template_callback_method']; } $classCheck = class_exists($class) ? 0 : 1; $methodCheck = BBM_Helper_Bbm::callbackChecker($class, $method) ? 0 : 1; if ($classCheck + $methodCheck == 0) { continue; } $tag = $bbcode['tag']; $bbcodesWithCallbackErrors[$tag] = array('tag_id' => $bbcode['tag_id'], 'tag' => $tag, 'title' => $bbcode['title'], 'type' => $type, 'status' => $bbcode['active'], 'class' => $class, 'classError' => $classCheck, 'method' => $method, 'methodError' => $methodCheck); } return $bbcodesWithCallbackErrors; }
public static function xenWrapperCallback(array &$configs, XenForo_DataWriter $dw, $fieldName) { if (isset($configs['Bbm_wrapper_callback']) && $configs['Bbm_wrapper_callback'] == 'callback' && !BBM_Helper_Bbm::callbackChecker($configs['class'], $configs['method'])) { $dw->error(new XenForo_Phrase('bbm_xenwrapper_callback_not_valid')); } return true; }
public static function getCompatibility() { $redactorSupport = XenForo_Application::get('options')->get('currentVersionId') >= 1020031; $mceSupport = !$redactorSupport; if (BBM_Helper_Bbm::callbackChecker('Sedo_TinyQuattro_Helper_Quattro', 'isEnabled') && $redactorSupport) { //$redactorSupport added to conditional to match only XenForo > 1.2 $activeAddons = XenForo_Application::get('addOns'); $mceSupport = !empty($activeAddons['sedo_tinymce_quattro']) ? true : false; } return array($mceSupport, $redactorSupport); }