/** * Returns those plugins which the current user is allowed to use * * @param string $plugins plugin names separated by a comma * @return array($useTinyBrowser: boolean, $plugins: string) */ function TMCE_checkPlugins($plugins) { global $_TMCE_CORE_PLUGINS; $retval = array(); $useTinyBrowser = FALSE; $allowedPlugins = TMCE_getPlugins(); foreach (explode(',', $plugins) as $plugin) { $plugin = trim($plugin); if ($plugin === 'tinybrowser') { $useTinyBrowser = TRUE; } else { if (in_array($plugin, $allowedPlugins)) { $retval[] = $plugin; } } } // Appends core plugins $retval = array_merge_recursive($retval, $_TMCE_CORE_PLUGINS); $retval = array_unique($retval); return array($useTinyBrowser, implode(',', $retval)); }
/** * Returns checkboxes for plugins * * @param string $plugins plugins separated by a comma * @return string */ function TMCE_unpackPlugins($plugins) { global $_CONF, $_TMCE_CONF, $LANG_TMCE, $_TMCE_CORE_PLUGINS; $retval = ''; $plugins = explode(',', $plugins); $allPlugins = TMCE_getAllPlugins(); sort($allPlugins); $allowedPlugins = TMCE_getPlugins(); $counter = 0; foreach ($allPlugins as $plugin) { if ($plugin !== 'example' and !in_array($plugin, $_TMCE_CORE_PLUGINS)) { if ($counter === 0) { $retval .= '<tr>'; } $id = TMCE_esc('tmce_plugin_' . $plugin); $title = isset($LANG_TMCE[$plugin]) ? TMCE_str($plugin) : TMCE_esc($plugin); $checked = in_array($plugin, $plugins) ? ' checked="checked"' : ''; $disabled = in_array($plugin, $allowedPlugins) ? '' : ' disabled="disabled"'; $retval .= '<td>' . '<input id="' . $id . '" name="plugins[]" type="checkbox" value="' . TMCE_esc($plugin) . '"' . $checked . $disabled . XHTML . '>' . '<label for="' . $id . '" title="' . $title . '" style="font-weight: normal;">' . TMCE_esc($plugin) . '</label>' . '</td>' . LB; $counter++; if ($counter >= $_TMCE_CONF['plugin_num_columns']) { $retval .= '</tr>' . LB; $counter = 0; } } } if ($counter > 0) { $retval .= str_repeat('<td> </td>', $_TMCE_CONF['plugin_num_columns'] - $counter) . '</tr>' . LB; } return $retval; }