$__dummy_authors) { global $$__name_authors; } $__scope_before_authors = NULL; // just that it exists $__scripts_authors = array(); preg_match_all('~'.$cf['scripting']['regexp'].'~is', $__text_authors, $__scripts_authors); if (count($__scripts_authors[1]) > 0) { $output = preg_replace('~'.$cf['scripting']['regexp'].'~is', '', $__text_authors); if ($__compat_authors) { $__scripts_authors[1] = array_reverse($__scripts_authors[1]); } foreach ($__scripts_authors[1] as $__script_authors) { if ($__script_authors !== 'hide' && $__script_authors !== 'remove') { $__script_authors = preg_replace(array("'&(quot|#34);'i", "'&(amp|#38);'i", "'&(apos|#39);'i", "'&(lt|#60);'i", "'&(gt|#62);'i", "'&(nbsp|#160);'i"), array("\"", "&", "'", "<", ">", " "), $__script_authors); $__scope_before_authors = array_keys(get_defined_vars()); eval($__script_authors); $__scope_after_authors = array_keys(get_defined_vars()); $__diff_authors = array_diff($__scope_after_authors, $__scope_before_authors); foreach ($__diff_authors as $__var_authors) { $GLOBALS[$__var_authors] = $$__var_authors; } if ($__compat_authors) { break; } } } $eval_script_output = $output; $output = ''; return $eval_script_output; } return $__text_authors; } function evaluate_plugincall_authors($__text_authors) { global $u; $error = '{{CALL TO:{{%1}} FAILED}}'; //use this for debugging of failed plugin-calls $pl_regex = '"{{{RGX:CALL(.*?)}}}"is'; //general CALL-RegEx (Placeholder: "RGX:CALL") $pl_calls = array( 'PLUGIN:' => 'return {{%1}}', 'HOME:' => 'return trim(\'' . urldecode('{{%1}}') . '\');', 'HOME' => 'return trim(\'' . urldecode($u[0]) . '\');' ); $fd_calls = array(); foreach ($pl_calls AS $regex => $call) { preg_match_all(str_replace("RGX:CALL", $regex, $pl_regex), $__text_authors, $fd_calls[$regex]); //catch all PL-CALLS foreach ($fd_calls[$regex][0] AS $call_nr => $replace) { $call = str_replace("{{%1}}", $fd_calls[$regex][1][$call_nr], $pl_calls[$regex]); $fnct_call = preg_replace('"(?:(?:return)\s)*(.*?)\(.*?\);"is', '$1', $call); $fnct = function_exists($fnct_call) ? TRUE : FALSE; //without object-calls; functions-only!! if ($fnct) { preg_match_all("/\\$([a-z_0-9]*)/i", $call, $matches); foreach ($matches[1] as $var) { global $$var; } } $__text_authors = str_replace($replace, ($fnct ? eval(str_replace('{{%1}}', $fd_calls[$regex][1][$call_nr], $pl_calls[$regex])) : str_replace('{{%1}}', $regex . $fd_calls[$regex][1][$call_nr], $error)), $__text_authors); //replace PL-CALLS (String only!!) } } return $__text_authors; } function evaluate_scripting_authors($text, $compat = TRUE) { return evaluate_cmsimple_scripting_authors(evaluate_plugincall_authors($text), $compat); } /* END EVALUATION FUNCTIONS FOR PLUGINS / SCRIPTING */ function co_authors($co_author_folder, $co_author_page) { global $pth; $GLOBALS['co_author_folder'] = $co_author_folder; global $co_author_folder; // echo 'von co_author: ' . $co_author_folder . $co_author_page . '
'; // for development only $co_author_doc = ''; // $co_author_doc.= '

Die folgenden Inhalte wurden extern mit CMSimpleCoAutors erstellt und mit dem Plugin CoAuthors_XH in diese Website eingebunden:

'; $co_author_doc.= file_get_contents($pth['folder']['base'].$co_author_folder.'userfiles/co_author/' . $co_author_page . '.txt'); $co_author_doc = preg_replace('~

(.*)

~', '', $co_author_doc); $co_author_doc = evaluate_scripting_authors($co_author_doc); return($co_author_doc); } ?>